Что не так с моим кодом (я использую этот самоцвет )?
require 'bitcoin'
include Bitcoin::Builder
key = Bitcoin::Key.from_base58('...')
txn = build_tx do |tx|
tx.input do |i|
i.prev_out(Bitcoin::P::Tx.from_hash(...))
i.prev_out_index(0)
i.signature_key(Bitcoin::Key.from_base58(...))
end
tx.output do |o|
o.value(50000)
o.to('1GzqkR2zNQUzHLpE7PLPjVNJ51FHC3bpDH')
end
end
Я получаю:
RuntimeError: Script type must be hash160, pubkey, p2wpkh or multisig
/Users/yegor/.rvm/gems/ruby-2.6.0/gems/bitcoin-ruby-0.0.19/lib/bitcoin/builder.rb:239:in `sig_hash_and_all_keys_exist?'
/Users/yegor/.rvm/gems/ruby-2.6.0/gems/bitcoin-ruby-0.0.19/lib/bitcoin/builder.rb:308:in `sign_input'
/Users/yegor/.rvm/gems/ruby-2.6.0/gems/bitcoin-ruby-0.0.19/lib/bitcoin/builder.rb:208:in `block in tx'
/Users/yegor/.rvm/gems/ruby-2.6.0/gems/bitcoin-ruby-0.0.19/lib/bitcoin/builder.rb:207:in `each'
/Users/yegor/.rvm/gems/ruby-2.6.0/gems/bitcoin-ruby-0.0.19/lib/bitcoin/builder.rb:207:in `each_with_index'
/Users/yegor/.rvm/gems/ruby-2.6.0/gems/bitcoin-ruby-0.0.19/lib/bitcoin/builder.rb:207:in `tx'
/Users/yegor/.rvm/gems/ruby-2.6.0/gems/bitcoin-ruby-0.0.19/lib/bitcoin/builder.rb:21:in `build_tx'
Что яделать неправильно?Кстати, какой бы секретный ключ я ни предоставил signature_key
, я получаю ту же ошибку.Если я удаляю строку с singature_key
, я не получаю ошибки.
Я также отправил билет в их репо: https://github.com/lian/bitcoin-ruby/issues/287