anchor.diff:        (when *debug*
           (format t "ev: ~a (~a)~%" (type-of ev) ev)))))
   
  -(defun make-event-cb (remote)
  +(defun make-read-cb (remote)
     (lambda (socket stream)
  -    (let ((msg (bindata:read-value p2p-msg stream)))
  +    (declare (ignore socket))
  +    (let ((msg (bindata:read-value 'p2p-msg stream)))
         (with-slots (command handshaken) msg
           (cond ((string= command "verack")
  +               (format t "got a verack!")
                  (setf handshaken (boole boole-ior handshaken #b10)))
                 ((string= command "version")
  +               (format t "got a version!")
                  (setf handshaken (boole boole-ior handshaken #b01))
                  (send-verack remote)))))))
   
  
positive.code: (in-package :btcl-net)
  
  ;;; draws heavily on github.com/CodeShark/CoinClasses
  
  (defclass peer-connection ()
    ((host :initarg :host)
  
negative.code:                             :command "verack")))
      (multiple-value-bind (cksm len) (checksum-payload msg)
        (setf (slot-value msg 'checksum) cksm)
        (setf (slot-value msg 'len) len)
        (bindata:write-value 'msg-version (slot-value remote 'tcp-socket) msg))))
  
  (defun start-peer (remote)
  