⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hashcash-task.py

📁 idel虚拟机源码
💻 PY
📖 第 1 页 / 共 2 页
字号:
def 3 0 sprintf-hex  { addr j x --    j if  addr  j 1 -  x 4 >>>  sprintf-hex  then     x 15 and  hex.addr + c@  addr j + c! } ;def 3 0 digest  SHA1-init SHA1-update SHA1-final  H 20 wordcpy ;def 0 0 SHA1-init  0 hbits !  0 lbits !  H SHA1-IV 20 wordcpy ;def 2 0 SHA1-update  { pdata data-len --    lbits @  3 >>>  63 and    data-len 29 >>>  hbits +!    data-len 3 <<    { mlen low-bits --      low-bits lbits +!      lbits @  low-bits < if  1 hbits +!  then      64 mlen -  data-len  { x y -- x y u< if x else y then }      { use --        W mlen +  pdata  use  memcpy        pdata use +  data-len use -  mlen use +  SHA1-update-loop } } } ;def 3 0 SHA1-update-loop  { data data-len mlen --    mlen 64 = if      SHA1-transform      64 data-len { x y -- x y u< if x else y then }      { use --        W data use memcpy        data use +  data-len use -  use  SHA1-update-loop }    then } ;def 0 0 SHA1-final  lbits @  3 >>>  63 and  { mlen -- 0x80 W mlen + c!  mlen 1 + }  { mlen --    64 mlen -    { padding --      padding 8 < if        W mlen +  0  padding  memset        SHA1-transform        W  0  64 8 -  memset      else        W mlen +  0  padding 8 -  memset      then } }  hbits @  W 64 + 8 - !  lbits @  W 64 + 4 - !  SHA1-transform ;def 0 0 SHA1-transform  0 @  4 @  8 @  12 @  16 @  { A B C D E -- A 5 << A 27 >>> or C D xor B and D xor + E + 20 @ + 1518500249 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B and D xor + E + 24 @ + 1518500249 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B and D xor + E + 28 @ + 1518500249 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B and D xor + E + 32 @ + 1518500249 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B and D xor + E + 36 @ + 1518500249 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B and D xor + E + 40 @ + 1518500249 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B and D xor + E + 44 @ + 1518500249 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B and D xor + E + 48 @ + 1518500249 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B and D xor + E + 52 @ + 1518500249 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B and D xor + E + 56 @ + 1518500249 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B and D xor + E + 60 @ + 1518500249 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B and D xor + E + 64 @ + 1518500249 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B and D xor + E + 68 @ + 1518500249 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B and D xor + E + 72 @ + 1518500249 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B and D xor + E + 76 @ + 1518500249 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B and D xor + E + 80 @ + 1518500249 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B and D xor + E + 72 @ 52 @ xor 28 @ xor 20 @ xor { x -- x 1 << x 31 >>> or } { x -- x 20 !  x } + 1518500249 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B and D xor + E + 76 @ 56 @ xor 32 @ xor 24 @ xor { x -- x 1 << x 31 >>> or } { x -- x 24 !  x } + 1518500249 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B and D xor + E + 80 @ 60 @ xor 36 @ xor 28 @ xor { x -- x 1 << x 31 >>> or } { x -- x 28 !  x } + 1518500249 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B and D xor + E + 20 @ 64 @ xor 40 @ xor 32 @ xor { x -- x 1 << x 31 >>> or } { x -- x 32 !  x } + 1518500249 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B xor + E + 24 @ 68 @ xor 44 @ xor 36 @ xor { x -- x 1 << x 31 >>> or } { x -- x 36 !  x } + 1859775393 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B xor + E + 28 @ 72 @ xor 48 @ xor 40 @ xor { x -- x 1 << x 31 >>> or } { x -- x 40 !  x } + 1859775393 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B xor + E + 32 @ 76 @ xor 52 @ xor 44 @ xor { x -- x 1 << x 31 >>> or } { x -- x 44 !  x } + 1859775393 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B xor + E + 36 @ 80 @ xor 56 @ xor 48 @ xor { x -- x 1 << x 31 >>> or } { x -- x 48 !  x } + 1859775393 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B xor + E + 40 @ 20 @ xor 60 @ xor 52 @ xor { x -- x 1 << x 31 >>> or } { x -- x 52 !  x } + 1859775393 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B xor + E + 44 @ 24 @ xor 64 @ xor 56 @ xor { x -- x 1 << x 31 >>> or } { x -- x 56 !  x } + 1859775393 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B xor + E + 48 @ 28 @ xor 68 @ xor 60 @ xor { x -- x 1 << x 31 >>> or } { x -- x 60 !  x } + 1859775393 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B xor + E + 52 @ 32 @ xor 72 @ xor 64 @ xor { x -- x 1 << x 31 >>> or } { x -- x 64 !  x } + 1859775393 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B xor + E + 56 @ 36 @ xor 76 @ xor 68 @ xor { x -- x 1 << x 31 >>> or } { x -- x 68 !  x } + 1859775393 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B xor + E + 60 @ 40 @ xor 80 @ xor 72 @ xor { x -- x 1 << x 31 >>> or } { x -- x 72 !  x } + 1859775393 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B xor + E + 64 @ 44 @ xor 20 @ xor 76 @ xor { x -- x 1 << x 31 >>> or } { x -- x 76 !  x } + 1859775393 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B xor + E + 68 @ 48 @ xor 24 @ xor 80 @ xor { x -- x 1 << x 31 >>> or } { x -- x 80 !  x } + 1859775393 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B xor + E + 72 @ 52 @ xor 28 @ xor 20 @ xor { x -- x 1 << x 31 >>> or } { x -- x 20 !  x } + 1859775393 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B xor + E + 76 @ 56 @ xor 32 @ xor 24 @ xor { x -- x 1 << x 31 >>> or } { x -- x 24 !  x } + 1859775393 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B xor + E + 80 @ 60 @ xor 36 @ xor 28 @ xor { x -- x 1 << x 31 >>> or } { x -- x 28 !  x } + 1859775393 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B xor + E + 20 @ 64 @ xor 40 @ xor 32 @ xor { x -- x 1 << x 31 >>> or } { x -- x 32 !  x } + 1859775393 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B xor + E + 24 @ 68 @ xor 44 @ xor 36 @ xor { x -- x 1 << x 31 >>> or } { x -- x 36 !  x } + 1859775393 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B xor + E + 28 @ 72 @ xor 48 @ xor 40 @ xor { x -- x 1 << x 31 >>> or } { x -- x 40 !  x } + 1859775393 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B xor + E + 32 @ 76 @ xor 52 @ xor 44 @ xor { x -- x 1 << x 31 >>> or } { x -- x 44 !  x } + 1859775393 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B xor + E + 36 @ 80 @ xor 56 @ xor 48 @ xor { x -- x 1 << x 31 >>> or } { x -- x 48 !  x } + 1859775393 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D or B and C D and or + E + 40 @ 20 @ xor 60 @ xor 52 @ xor { x -- x 1 << x 31 >>> or } { x -- x 52 !  x } + -1894007588 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D or B and C D and or + E + 44 @ 24 @ xor 64 @ xor 56 @ xor { x -- x 1 << x 31 >>> or } { x -- x 56 !  x } + -1894007588 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D or B and C D and or + E + 48 @ 28 @ xor 68 @ xor 60 @ xor { x -- x 1 << x 31 >>> or } { x -- x 60 !  x } + -1894007588 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D or B and C D and or + E + 52 @ 32 @ xor 72 @ xor 64 @ xor { x -- x 1 << x 31 >>> or } { x -- x 64 !  x } + -1894007588 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D or B and C D and or + E + 56 @ 36 @ xor 76 @ xor 68 @ xor { x -- x 1 << x 31 >>> or } { x -- x 68 !  x } + -1894007588 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D or B and C D and or + E + 60 @ 40 @ xor 80 @ xor 72 @ xor { x -- x 1 << x 31 >>> or } { x -- x 72 !  x } + -1894007588 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D or B and C D and or + E + 64 @ 44 @ xor 20 @ xor 76 @ xor { x -- x 1 << x 31 >>> or } { x -- x 76 !  x } + -1894007588 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D or B and C D and or + E + 68 @ 48 @ xor 24 @ xor 80 @ xor { x -- x 1 << x 31 >>> or } { x -- x 80 !  x } + -1894007588 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D or B and C D and or + E + 72 @ 52 @ xor 28 @ xor 20 @ xor { x -- x 1 << x 31 >>> or } { x -- x 20 !  x } + -1894007588 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D or B and C D and or + E + 76 @ 56 @ xor 32 @ xor 24 @ xor { x -- x 1 << x 31 >>> or } { x -- x 24 !  x } + -1894007588 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D or B and C D and or + E + 80 @ 60 @ xor 36 @ xor 28 @ xor { x -- x 1 << x 31 >>> or } { x -- x 28 !  x } + -1894007588 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D or B and C D and or + E + 20 @ 64 @ xor 40 @ xor 32 @ xor { x -- x 1 << x 31 >>> or } { x -- x 32 !  x } + -1894007588 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D or B and C D and or + E + 24 @ 68 @ xor 44 @ xor 36 @ xor { x -- x 1 << x 31 >>> or } { x -- x 36 !  x } + -1894007588 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D or B and C D and or + E + 28 @ 72 @ xor 48 @ xor 40 @ xor { x -- x 1 << x 31 >>> or } { x -- x 40 !  x } + -1894007588 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D or B and C D and or + E + 32 @ 76 @ xor 52 @ xor 44 @ xor { x -- x 1 << x 31 >>> or } { x -- x 44 !  x } + -1894007588 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D or B and C D and or + E + 36 @ 80 @ xor 56 @ xor 48 @ xor { x -- x 1 << x 31 >>> or } { x -- x 48 !  x } + -1894007588 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D or B and C D and or + E + 40 @ 20 @ xor 60 @ xor 52 @ xor { x -- x 1 << x 31 >>> or } { x -- x 52 !  x } + -1894007588 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D or B and C D and or + E + 44 @ 24 @ xor 64 @ xor 56 @ xor { x -- x 1 << x 31 >>> or } { x -- x 56 !  x } + -1894007588 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D or B and C D and or + E + 48 @ 28 @ xor 68 @ xor 60 @ xor { x -- x 1 << x 31 >>> or } { x -- x 60 !  x } + -1894007588 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D or B and C D and or + E + 52 @ 32 @ xor 72 @ xor 64 @ xor { x -- x 1 << x 31 >>> or } { x -- x 64 !  x } + -1894007588 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B xor + E + 56 @ 36 @ xor 76 @ xor 68 @ xor { x -- x 1 << x 31 >>> or } { x -- x 68 !  x } + -899497514 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B xor + E + 60 @ 40 @ xor 80 @ xor 72 @ xor { x -- x 1 << x 31 >>> or } { x -- x 72 !  x } + -899497514 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B xor + E + 64 @ 44 @ xor 20 @ xor 76 @ xor { x -- x 1 << x 31 >>> or } { x -- x 76 !  x } + -899497514 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B xor + E + 68 @ 48 @ xor 24 @ xor 80 @ xor { x -- x 1 << x 31 >>> or } { x -- x 80 !  x } + -899497514 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B xor + E + 72 @ 52 @ xor 28 @ xor 20 @ xor { x -- x 1 << x 31 >>> or } { x -- x 20 !  x } + -899497514 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B xor + E + 76 @ 56 @ xor 32 @ xor 24 @ xor { x -- x 1 << x 31 >>> or } { x -- x 24 !  x } + -899497514 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B xor + E + 80 @ 60 @ xor 36 @ xor 28 @ xor { x -- x 1 << x 31 >>> or } { x -- x 28 !  x } + -899497514 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B xor + E + 20 @ 64 @ xor 40 @ xor 32 @ xor { x -- x 1 << x 31 >>> or } { x -- x 32 !  x } + -899497514 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B xor + E + 24 @ 68 @ xor 44 @ xor 36 @ xor { x -- x 1 << x 31 >>> or } { x -- x 36 !  x } + -899497514 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B xor + E + 28 @ 72 @ xor 48 @ xor 40 @ xor { x -- x 1 << x 31 >>> or } { x -- x 40 !  x } + -899497514 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B xor + E + 32 @ 76 @ xor 52 @ xor 44 @ xor { x -- x 1 << x 31 >>> or } { x -- x 44 !  x } + -899497514 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B xor + E + 36 @ 80 @ xor 56 @ xor 48 @ xor { x -- x 1 << x 31 >>> or } { x -- x 48 !  x } + -899497514 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B xor + E + 40 @ 20 @ xor 60 @ xor 52 @ xor { x -- x 1 << x 31 >>> or } { x -- x 52 !  x } + -899497514 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B xor + E + 44 @ 24 @ xor 64 @ xor 56 @ xor { x -- x 1 << x 31 >>> or } { x -- x 56 !  x } + -899497514 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B xor + E + 48 @ 28 @ xor 68 @ xor 60 @ xor { x -- x 1 << x 31 >>> or } { x -- x 60 !  x } + -899497514 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B xor + E + 52 @ 32 @ xor 72 @ xor 64 @ xor { x -- x 1 << x 31 >>> or } { x -- x 64 !  x } + -899497514 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B xor + E + 56 @ 36 @ xor 76 @ xor 68 @ xor { x -- x 1 << x 31 >>> or } { x -- x 68 !  x } + -899497514 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B xor + E + 60 @ 40 @ xor 80 @ xor 72 @ xor { x -- x 1 << x 31 >>> or } { x -- x 72 !  x } + -899497514 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B xor + E + 64 @ 44 @ xor 20 @ xor 76 @ xor { x -- x 1 << x 31 >>> or } { x -- x 76 !  x } + -899497514 +  A  B 30 << B 2 >>> or  C  D }  { A B C D E -- A 5 << A 27 >>> or C D xor B xor + E + 68 @ 48 @ xor 24 @ xor 80 @ xor { x -- x 1 << x 31 >>> or } { x -- x 80 !  x } + -899497514 +  A  B 30 << B 2 >>> or  C  D }   16 +!  12 +!  8 +!  4 +!  0 +! ;def 2 0 dump-loop  { a n -- n if  a @ x. a separator emit  a 4 +  n 1 -  dump-loop then } ;def 1 1 separator  4 +  31 and if  ' '  else  '\\n'  then ;def 1 0 x.  7 x.loop ;def 2 0 x.loop   { u n --  n if  u 4 >>>  n 1 -   x.loop  then            u 15 and  hex-digit emit } ;def 1 1 hex-digit  { u -- u 10 < if  '0'  else  'a' 10 -  then  u + } ;def 2 0 ascii-dump  { addr u --    u if      addr c@ emit      addr 1 +  u 1 -  ascii-dump    then } ;def 2 1 u/     u/mod { quot rem -- quot } ;def 2 1 umod   u/mod { quot rem -- rem } ;def 1 0 u.  { u --  9 u u< if  u 10 u/ u.  then          u 10 umod  '0' + emit } ;def 2 0 type   { a n --  0 n < if  a c@ emit  a 1 +  n 1 -  type  then } ;\\ more stuffdef 0 0 dump-H    H 5 dump-loop  '\\n' emit ;def 2 0 +! { a -- a @  +  a ! } ;def 3 0 memcpy  { dst src n --    dst src n    dst 3 and if      bytecpy    else src 3 and if      bytecpy    else n 3 and if      bytecpy    else      wordcpy    then then then } ;def 3 0 wordcpy  { dst src n --    n if      src @ dst !      dst 4 +  src 4 +  n 4 -  wordcpy    then } ;def 3 0 bytecpy  { dst src n --    n if      src c@ dst c!      dst 1 +  src 1 +  n 1 -  bytecpy    then } ;def 3 0 memset  { dst byte n --    n if      byte dst c!      dst 1 +  byte  n 1 -  memset    then } ;def 3 1 memcmp  { dst src n --    n if      src c@  dst c@ = if        dst 1 +  src 1 +  n 1 -  memcmp      else        -1      then    else      0    then } ;          """ % (self.n, self.hi - self.lo, self.lo, self.bits, self.bits)        session.assemble_and_push(source_code)    def answer_seems_ok(self, output):	"""Return true iff output (a string) appears to be a correct result	of the computation sent out."""	self.answer = output	return 1    def estimated_time(self, jobber_info):	"""Return a guess at how long the described jobber should take to	compute this job.  Return None if the jobber lacks required	resources."""	a_lot = 10000	return jobber_info.cycle_time() * a_lot * (self.hi - self.lo)if __name__ == '__main__':    dealer.add_task(HashcashTask('09948flame', 18))    dealer.loop()

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -