<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">TBH it doesn’t really do anything yet but evaluate ‘code’ transactions that are placed on the blockchain using the (execute …) macro, like this:<div class=""><div class=""><br class=""></div><div class="">CL-USER 20 : 2 > (execute *quester-address* 1 (set! square (lambda (x) (* x x))))</div><div class="">(#S(TRANSACTION :FROM #(82 47 C9 D C8 6F 69 5A 25 3B 8A 6F 44 17 8F A8 EC 6B F8 24 30 3F AC FC D8 B7 20 4 BD F0 4F 8F 39 C1 EA C4 67 1F A2 2A ...) :TO #(FE BA 12 F3 81 48 A2 89 31 7D 9C D5 8D 80 91 C4 F4 CE 6B 7B B6 E7 A8 8F 11 89 8 F6 6E 7E 26 E8 39 95 73 BD 63 B0 4D 54 ...) :VALUE 1 :ACCURACY 1 :DURATION 13D5 :|DATA| (SET! SQUARE #) :HASH #(A5 42 F8 E3 CE 1E 2B 4C BF C2 83 C9 CF 45 38 CF CB 9B CB 85 9A F2 AC D7 26 5A A0 BE D4 C4 6E 37 F3 DD DC 85 A4 50 7B BD ...) :PREVIOUS-HASH NIL))</div><div class=""><br class=""></div><div class="">CL-USER 21 : 2 > (execute *quester-address* 1 (set! double (lambda (x) (+ x x))))</div><div class="">(#S(TRANSACTION :FROM #(82 47 C9 D C8 6F 69 5A 25 3B 8A 6F 44 17 8F A8 EC 6B F8 24 30 3F AC FC D8 B7 20 4 BD F0 4F 8F 39 C1 EA C4 67 1F A2 2A ...) :TO #(FE BA 12 F3 81 48 A2 89 31 7D 9C D5 8D 80 91 C4 F4 CE 6B 7B B6 E7 A8 8F 11 89 8 F6 6E 7E 26 E8 39 95 73 BD 63 B0 4D 54 ...) :VALUE 1 :ACCURACY 1 :DURATION 13D6 :|DATA| (SET! DOUBLE #) :HASH #(65 66 2D CD 38 AD 3D 5C 2 2D 4D 86 CE D2 79 D8 FC 63 B1 45 FF 7E 79 94 EF 82 D2 AD B5 3F B1 DD A5 70 1E E9 4E 6C 4E 1C ...) :PREVIOUS-HASH NIL))</div><div class=""><br class=""></div><div class="">CL-USER 22 : 2 > (execute *quester-address* 1 (set! x (+ (double 4) (square 4))))</div><div class="">(#S(TRANSACTION :FROM #(82 47 C9 D C8 6F 69 5A 25 3B 8A 6F 44 17 8F A8 EC 6B F8 24 30 3F AC FC D8 B7 20 4 BD F0 4F 8F 39 C1 EA C4 67 1F A2 2A ...) :TO #(FE BA 12 F3 81 48 A2 89 31 7D 9C D5 8D 80 91 C4 F4 CE 6B 7B B6 E7 A8 8F 11 89 8 F6 6E 7E 26 E8 39 95 73 BD 63 B0 4D 54 ...) :VALUE 1 :ACCURACY 1 :DURATION 13D7 :|DATA| (SET! X #) :HASH #(21 5C 71 F2 1F 5C B9 4F AE 4D 44 90 3 C8 7 39 51 64 5A D4 39 69 95 C0 4A 9F E6 30 8C 9D 4E DB E4 57 6C 98 31 79 E7 C2 ...) :PREVIOUS-HASH NIL))</div><div class=""><br class=""></div><div class="">CL-USER 23 : 2 > (pprint (car *blockchain*))</div><div class=""><br class=""></div><div class="">#S(BLOCK :INDEX 13D6</div><div class="">         :TIMESTAMP DDE31477</div><div class="">         :|DATA| (#S(TRANSACTION :FROM #</div><div class="">                                 :TO #</div><div class="">                                 :VALUE 1</div><div class="">                                 :ACCURACY NIL</div><div class="">                                 :DURATION NIL</div><div class="">                                 :|DATA| NIL</div><div class="">                                 :HASH #</div><div class="">                                 :PREVIOUS-HASH NIL)</div><div class="">                  #S(TRANSACTION :FROM #</div><div class="">                                 :TO #</div><div class="">                                 :VALUE 0</div><div class="">                                 :ACCURACY NIL</div><div class="">                                 :DURATION NIL</div><div class="">                                 :|DATA| 18</div><div class="">                                 :HASH #</div><div class="">                                 :PREVIOUS-HASH #)</div><div class="">                  #S(TRANSACTION :FROM #</div><div class="">                                 :TO #</div><div class="">                                 :VALUE 1</div><div class="">                                 :ACCURACY 1</div><div class="">                                 :DURATION 13D7</div><div class="">                                 :|DATA| #</div><div class="">                                 :HASH #</div><div class="">                                 :PREVIOUS-HASH NIL))</div><div class="">         :PREVIOUS-HASH #(D8 35 FF D5 4B 42 89 FA D4 E1 BB 16 BA C1 8 70</div><div class="">                          B8 A9 73 64 20 C9 7A D2 20 C1 50 5E 10 38 9E 3</div><div class="">                          D6 DF 95 C3 39 7 F8 74 ...)</div><div class="">         :HASH #(D 33 62 56 1E ED 9D EE 93 A2 53 95 21 39 9F C2 54 40 DE</div><div class="">                 3D D2 4A 90 20 CD 4D FF 4B C2 68 7D 4F FA 4D 4 9 EC 93</div><div class="">                 CC F ...))</div><div class=""><br class=""></div><div class="">CL-USER 24 : 2 > </div><div class=""><br class=""></div><div class="">Where *quester-address* is an address that has some ‘value’ (as given to it by the “genesis” transaction in this implementation (aka this is totally premined)), the amount they are sending to ‘give’ to the miner for answering (aka the value that is transferred between accounts upon proof of work).  </div><div class=""><br class=""></div><div class="">—</div><div class="">Burton Samograd</div><div><br class=""><blockquote type="cite" class=""><div class="">On Dec 18, 2017, at 2:21 PM, David McClain <<a href="mailto:dbm@refined-audiometrics.com" class="">dbm@refined-audiometrics.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Problem with TRANSFER seems to be that its first use was prior to its Macro Definition. Placing the Macro Definition ahead of first use clears up the problem. But system is still hung waiting for a network connection…<div class=""><br class=""></div><div class="">- DM</div><div class=""><br class=""></div><div class=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">On Dec 18, 2017, at 14:11, David McClain <<a href="mailto:dbm@refined-audiometrics.com" class="">dbm@refined-audiometrics.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">okay, my bad… I see that the TRANSFER is part of a CASE construct. But here is the error on initial compile buffer:<div class=""><br class=""></div><div class=""><div style="margin: 0px; line-height: normal;" class="">The call (#<Function TRANSFER 422001358C> #(58 EF D8 12 7C 50 5F 84 C4 53 B3 DE EB 5E 5 8 CB E2 ED B7 D2 75 7C 34 1D DD 8 6 C0 74 8B 5F B3 13 91 D3 BD A7 FB E4 ...) #(5F 80 7 5C C6 4E 24 BE 27</div><div style="margin: 0px; line-height: normal;" class="">EA EB DE 93 B5 92 E5 27 FF BF 37 40 90 63 D0 F5 38 D5 0 DA 6E 15 62 FA B5 CC 5 84 CC C5 A5 ...) 1) does not match definition (#<Function TRANSFER 422001358C> FROM TO VALUE).</div><div style="margin: 0px; line-height: normal;" class=""><br class=""></div><div style="margin: 0px; line-height: normal;" class="">Debugger points to MINE. Happens during COMPILE-FILE.</div><div style="margin: 0px; line-height: normal;" class=""><br class=""></div><div style="margin: 0px; line-height: normal;" class="">- DM</div><div style="margin: 0px; line-height: normal;" class=""><br class=""></div><div style="margin: 0px; line-height: normal;" class=""><br class=""></div><div class=""><blockquote type="cite" class=""><div class="">On Dec 18, 2017, at 13:49, David McClain <<a href="mailto:dbm@refined-audiometrics.com" class="">dbm@refined-audiometrics.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=us-ascii" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">seems to be a problem with the use of TRANSFER here:<div class=""><br class=""></div><div class=""><div class=""><div class=""><br class=""></div></div><div class=""><div class="">(defun process-coin-server-request (stream)</div><div class="">  (let ((request (read stream)))</div><div class="">    (case request</div><div class="">      <font color="#ff2600" class="">(transfer (process-transfer-request (cdr request) stream))</font></div><div class="">      (execute (process-execute-request (cdr request) stream))</div><div class="">      (blocks (process-blocks-request (cdr request) stream)))))</div><div class=""><br class=""></div><div class="">Also redefines BLOCK and so we probably need to declare shadowing at the top. </div><div class=""><br class=""></div><div class="">Not sure what the quickload stuff was trying to accomplish, but my resident version of Ironclad kept shadowing anything imported by quickload. No SHA3 digest in my resident version, so I replaced it (for now) with the bleeding edge version from GitHub. That worked, as far as I can tell.</div></div></div><div class=""><br class=""></div><div class="">Actually had to compile buffer twice in order to get past the TRANSFER error (not sure why that even works?) but the system appears to be hung waiting for some kind of network connection. Perhaps you could give us a usage hint?</div><div class=""><br class=""></div><div class="">Cheers,</div><div class=""><br class=""></div><div class="">- DM</div></div></div></blockquote></div><br class=""></div></div></div></blockquote></div><br class=""></div></div></div></blockquote></div><br class=""></div></body></html>