anchor.diff:  ;; 16 bytes: Digest
   ;;
   
  -(defun make-challenge-reply-message (challenge digest)
  -  (concatenate '(vector octet)
  -               (uint16-to-bytes 21)
  -               (vector (char-code #\r))
  -               (uint32-to-bytes challenge)
  -               digest))
  +(defun write-challenge-reply-message (stream challenge digest)
  +  (write-uint16 21 stream)
  +  (write-char #\r stream)
  +  (write-uint32 challenge stream)
  +  (write-sequence digest stream)
  +  t)
   
   (defun read-challenge-reply-message (stream)
     (handler-case
  
positive.code: ;; N bytes: Full node name
  ;;
  
  (defun make-challenge-message (version flags challenge full-node-name)
    (concatenate '(vector octet)
                 (uint16-to-bytes (+ 11 (length full-node-name)))
                 (vector (char-code #\n))
                 (uint16-to-bytes version)
                 (uint32-to-bytes flags)
                 (uint32-to-bytes challenge)
                 (string-to-bytes full-node-name)))
  
  (defun read-challenge-message (stream)
    (handler-case
  
negative.code: ;; N bytes: Full node name
  ;;
  
  (defun write-name-message (stream version flags full-node-name)
    (write-uint16 (+ 7 (length full-node-name)) stream)
    (write-char #\n stream)
    (write-uint16 version stream)
    (write-uint32 flags stream)
    (write-string full-node-name stream)
    t)
  
  (defun read-name-message (stream)
    (handler-case
  