Code Monkey home page Code Monkey logo

checklocktimeverify-demos's People

Contributors

0xfd avatar ademan avatar amiller avatar bitstein avatar blakejakopovic avatar bloomark avatar derrend avatar devrandom avatar devurandom avatar ethanheilman avatar f1qwase avatar fanatid avatar flowdalic avatar gmaxwell avatar icook avatar jonasschnelli avatar kaniini avatar kanzure avatar laanwj avatar luke-jr avatar mrvdb avatar petertodd avatar pierrerochard avatar posita avatar rubensayshi avatar runeksvendsen avatar sarchar avatar welshjf avatar x89 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

checklocktimeverify-demos's Issues

mandatory-script-verify-flag-failed (Non-canonical DER signature)

Broadcasting a raw-tx, which was generated by the script for the testnet produces the following error:

error code: -26
error message:
16: mandatory-script-verify-flag-failed (Non-canonical DER signature)

I´ve created the following address:

python2 hodl.py -t cR62Q2Dp8HriUXyKf1nYW6SYk6F1MZVMJbb2qqafCLBKSidV3SX3 1113520 create

2MsUY2M8gyWs2oJ56wcDo9MLdkjC5LW8HY4

After depositing 0.1 BTC on that address I´ve used the script to create the raw-tx to spend the coins:

python2 hodl.py -t cR62Q2Dp8HriUXyKf1nYW6SYk6F1MZVMJbb2qqafCLBKSidV3SX3 1113520 spend 5acfe3d5e2587f6c1b43a43b2d3f907b969b0bbd7b31c0f652553a5fca8f34ad:0 mmHhhBPx8qC8bQMAwSPcddsrfnaFhAXjyT

0100000001ad348fca5f3a5552f6c0317bbd0b9b967b903f2d3ba4431b6c7f58e2d5e3cf5a00000000754a30450221009bd5471f6d9fa5f733df788cd818c3a0497f68cf085b5f799b1615cb5bb052d202201d1e8e8eda581fedce145f08d580aec04f6f5ef78c07d741d5bcd5f3c451814e5b315d2903b0fd10b175210218a4b3a95f7b29bc9baf0c69835790af7aca065b38302c13d651972aa2bab3dbac0000000001706f9800000000001976a9143f4f289e811ae3001bfd0024e117ec6a2ab2945a88acb0fd1000

The decoded raw-tx looks like this:

  "txid": "08a69cfd97d116975c4f82ac9cc2b8cb8286e42c0ceb47fb193472c9a3122915",
  "hash": "08a69cfd97d116975c4f82ac9cc2b8cb8286e42c0ceb47fb193472c9a3122915",
  "size": 202,
  "vsize": 202,
  "version": 1,
  "locktime": 1113520,
  "vin": [
    {
      "txid": "5acfe3d5e2587f6c1b43a43b2d3f907b969b0bbd7b31c0f652553a5fca8f34ad",
      "vout": 0,
      "scriptSig": {
        "asm": "30450221009bd5471f6d9fa5f733df788cd818c3a0497f68cf085b5f799b1615cb5bb052d202201d1e8e8eda581fedce145f08d580aec04f6f5ef78c07d741d5bcd5f3c451814e5b315d 03b0fd10b175210218a4b3a95f7b29bc9baf0c69835790af7aca065b38302c13d651972aa2bab3dbac",
        "hex": "4a30450221009bd5471f6d9fa5f733df788cd818c3a0497f68cf085b5f799b1615cb5bb052d202201d1e8e8eda581fedce145f08d580aec04f6f5ef78c07d741d5bcd5f3c451814e5b315d2903b0fd10b175210218a4b3a95f7b29bc9baf0c69835790af7aca065b38302c13d651972aa2bab3dbac"
      },
      "sequence": 0
    }
  ],
  "vout": [
    {
      "value": 0.09990000,
      "n": 0,
      "scriptPubKey": {
        "asm": "OP_DUP OP_HASH160 3f4f289e811ae3001bfd0024e117ec6a2ab2945a OP_EQUALVERIFY OP_CHECKSIG",
        "hex": "76a9143f4f289e811ae3001bfd0024e117ec6a2ab2945a88ac",
        "reqSigs": 1,
        "type": "pubkeyhash",
        "addresses": [
          "mmHhhBPx8qC8bQMAwSPcddsrfnaFhAXjyT"
        ]
      }
    }
  ]
}

But sending this raw-tx leads to the error (mentioned above).
I´ve tried to broadcast with bitcoin core v.0.11.2 and v.0.13.1

I´ve also updated the python-bitcoinlib from v.0.5.0 to v.0.7.0 to see if that maybe fixes the issue, but without any changes.

I´ve started the hodl-script with python v.2.7.

After asking in IRC (channel: bitcoin) @harding helped me out a bit:

(15:14:23) harding:
sj_stefan: it's pretty weird. Your signature seems to be 75 bytes not including the sighash code, which I think is larger than signatures are supposed to be. I don't see any problem with the code though.

For some reason, the same script has generated a raw-tx, that I was able to broadcast successfully last year (with bitcoin core v.0.11.0). Last time I´ve started the script without explicitly using a different python-version.

By just calling the hodl-script with the preferred python-version 3 now, I´m running into some python-errors, that doesn´t occur last year:

Traceback (most recent call last):
File "/var/www/vhosts/service/classiccoin/cltv_origin/bitcoin/rpc.py", line 30, in
import http.client as httplib
ImportError: No module named 'http'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "./hodl.py", line 10, in
import bitcoin.rpc
File "/var/www/vhosts/service/classiccoin/cltv_origin/bitcoin/rpc.py", line 32, in
import httplib
ImportError: No module named 'httplib'

Can't connect to Core during "spend"

"create" works well but I have problems with spending.

When I hit

hodl.py -v spend :

I get

Traceback (most recent call last):
File "C:...\hodl.py", line 158, in
args.cmd_func(args)
File "C:...\hodl.py", line 101, in spend_command
prevout = proxy.gettxout(outpoint)
File "C:\Python34\lib\site-packages\bitcoin\rpc.py", line 466, in gettxout
r = self._call('gettxout', b2lx(outpoint.hash), outpoint.n, includemempool)
File "C:\Python34\lib\site-packages\bitcoin\rpc.py", line 184, in _call
'Content-type': 'application/json'})
File "C:\Python34\lib\http\client.py", line 1137, in request
self._send_request(method, url, body, headers)
File "C:\Python34\lib\http\client.py", line 1182, in _send_request
self.endheaders(body)
File "C:\Python34\lib\http\client.py", line 1133, in endheaders
self._send_output(message_body)
File "C:\Python34\lib\http\client.py", line 963, in _send_output
self.send(msg)
File "C:\Python34\lib\http\client.py", line 898, in send
self.connect()
File "C:\Python34\lib\http\client.py", line 871, in connect
self.timeout, self.source_address)
File "C:\Python34\lib\socket.py", line 516, in create_connection
raise err
File "C:\Python34\lib\socket.py", line 507, in create_connection
sock.connect(sa)
ConnectionRefusedError: [WinError 10061]

I have Win7 x64, firewalls terminated, Bitcoin Core (bitcoin.conf with rpcpassword=) running from drive E:... and symlink created from C:...\Roaming\Bitcoin\ to that location (it's hard to have that 55gb blockchain on C:).
Are there any ways to get the raw spending transaction using your script without connections to Core?

deposit_redeemScript's OP_2DROP

Might be a dumb question, but why is deposit_redeemScript "self.expiry_nlocktime, 1, OP_NOP2, OP_2DROP" instead of "self.expiry_nlocktime, OP_NOP2, OP_DROP"? In other words, what effect does the 1 have?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.