Ich habe mehrere Probleme damit, Tests erfolgreich unter meinem Fork (oder vbuterins pybitcointools ) auszuführen , und ich hoffe, dass jemand mit kombinierten Python-/Bitcoin-Kenntnissen einen Einblick geben kann.
Hier ist die Fehlermeldung (wie an #145 übermittelt ):
======================================================================
FAIL: test_all (__main__.TestTransaction)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/private/var/mobile/Containers/Shared/AppGroup/AA78F2EC-3EE8-40F4-A318-8A9AB1BCB5FF/Pythonista3/Documents/pybitcointools-vbuterin/test.py", line 179, in test_all
self.assertTrue(verify_tx_input(tx1, 0, mscript, sig1, pubs[1]), "Verification Error")
AssertionError: Verification Error
======================================================================
FAIL: test_all (__main__.TestTransactionSignVerify)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/private/var/mobile/Containers/Shared/AppGroup/AA78F2EC-3EE8-40F4-A318-8A9AB1BCB5FF/Pythonista3/Documents/pybitcointools-vbuterin/test.py", line 133, in test_all
"Verification error"
AssertionError: Verification error
----------------------------------------------------------------------
Ran 18 tests in 6.944s
FAILED (failures=2, errors=2)
Ich habe eine Vermutung, dass dies mit der Einführung von low_s
(dh s = N-s if s>N//2 else s
) für die ECDSA-Signierung zu tun hat, kann mir aber nicht sicher sein.
Kann jemand darauf hinweisen, wo die Dinge in die Irre gehen?
Okay, ich habe es herausgefunden.
Es gab ein Problem mit dem Wert von v
in vrs
( v
das Versionsbyte und r
/ s
die DER-Werte). Da v
es nicht durch DER-Signaturen codiert ist, schlug die Überprüfung 27 <= v <= 34
fehl, da die Nichtkenntnis des v
Werts manchmal den Wert , oder v
erfordern würde .None
0
1
Jimmy Lied
Zauberer von Ozzie
Jimmy Lied
git remote add vbuterin git@github.com:vbuterin/pybitcointools
. Danngit fetch vbuterin
. Danngit diff vbuterin/master
.