标签: bitcoin-testnet

以下是使用Bitcoin-cli命令发送原始事务BTC的方法

场景:

迈克尔从Pablo获得了0.05亿BTC,从Kuradang获得了另外0.01亿BTC.迈克尔还希望向贝腾发送0.02500000 BTC.迈克尔收到的每笔金额都有相应的txid和其他详细信息.让我们使用listunspent命令检查出来,然后使用命令创建一个原始事务,然后使用createrawtransaction它来 signrawtransaction发送原始事务 sendrawtransaction.

鉴于:

  • 迈克尔的比特币地址:mkrzDhhZtzQm8zgckSs4fMNrvtNJ66zaFe
  • Berteng的比特币地址:mxh3H416KCRoBDiweSESew5YJyAk1nxLrN
  • 发送至Berteng:0.02500000 mBTC

步骤1)

listunspent

格式:

$ bitcoin-cli listunspent [misconf=1] [max_number_confirmation=99999999] '''["<wallet_address>"]'''
Run Code Online (Sandbox Code Playgroud)

让我们检查迈克尔未使用的地址列表.

执行:

$ bitcoin-cli listunspent 1 99999999 '''["mkrzDhhZtzQm8zgckSs4fMNrvtNJ66zaFe"]'''
Run Code Online (Sandbox Code Playgroud)

结果:

[{
    "txid": "12b8e7ede4992f4d30f93idj3085746951d945e39f40becebd7c290af8c2e7ad",
    "vout": 1,
    "address": "mkrzDhhZtzQm8zgckSs4fMNrvtNJ66zaFe",
    "account": "micz",
    "scriptPubKey": "76a9143aa28e1740a6a5a2190975b6e7f1ad67aaec9a3988ac",
    "amount": 0.05000000,
    "confirmations": 94,
    "spendable": true
}, {
    "txid": "8443bc63b65d569ff9ekwm37sy3b67b9c7c6f8f386c3cdf372b260961b64ec9fc",
    "vout": 1,
    "address": "mkrzDhhZtzQm8zgckSs4fMNrvtNJ66zaFe",
    "account": "micz",
    "scriptPubKey": "76a9143aa28e1740a6a5a2190975b6e7f1ad67aaec9a3988ac",
    "amount": 0.01000000,
    "confirmations": 93,
    "spendable": true
}]
Run Code Online (Sandbox Code Playgroud)

我们在这里看到的是将50和10 mBTC分配给我们的地址mkrz的结果.... 要花费此输出,我们将创建一个新事务.

第2步)

createrawtransaction

我们需要从结果中选择一些具有足够数量的块listunspent.由于我们只需要发送0.02500000 mBTC,我认为第一个块有足够的金额来进行交易.

格式: …

transactions bitcoind bitcoin-testnet

24
推荐指数
1
解决办法
1万
查看次数

使用随机对等点发现模拟私有比特币网络

我正在寻找一种在我的专用LAN/Wifi网络上模拟1000节点比特币网络的方法.

我阅读了开发人员指南:https://bitcoin.org/en/developer-examples#regtest-mode,它提到了regtest主要用于单个节点或指定节点的模式,而不是像实际网络那样的随机节点.

有些人可能会建议使用该testnet模式,但这对我没用,因为我想检查一个新的协议,因为比特币不会被testnet网络上的未知节点支持.

简单来说,我希望在我的LAN/Wifi网络中模拟一个完整的比特币网络.

bitcoin bitcoind blockchain bitcoin-testnet

10
推荐指数
1
解决办法
935
查看次数

当资金被发送到本地 regtest 网络上的特定比特币地址时,我如何收到通知?

我想以编程方式检测何时有人将比特币发送到某个地址。这发生在我开始使用这个docker-compose.yml文件的本地测试网上。

\n

本地测试网运行后,我使用以下命令创建一个新地址

\n
docker exec -it minimal-crypto-exchange_node_1 bitcoin-cli getnewaddress\n
Run Code Online (Sandbox Code Playgroud)\n

假设它返回2N23tWAFEtBtTgxNjBNmnwzsiPdLcNek181

\n

我把这个地址放入下面的Java代码中:

\n
import org.bitcoinj.core.Address;\nimport org.bitcoinj.core.Coin;\nimport org.bitcoinj.core.NetworkParameters;\nimport org.bitcoinj.core.Transaction;\nimport org.bitcoinj.wallet.Wallet;\nimport org.bitcoinj.wallet.listeners.WalletCoinsReceivedEventListener;\n\npublic class WalletObserver {\n    public void init() {\n        final NetworkParameters netParams = NetworkParameters.fromID(NetworkParameters.ID_REGTEST);\n\n        try {\n            final Wallet wallet = Wallet.createBasic(netParams);\n\n            wallet.addWatchedAddress(Address.fromString(netParams, "2N23tWAFEtBtTgxNjBNmnwzsiPdLcNek181"));\n\n            wallet.addCoinsReceivedEventListener(new WalletCoinsReceivedEventListener() {\n                @Override\n                public void onCoinsReceived(final Wallet wallet, final Transaction transaction, final Coin prevBalance, final Coin newBalance) {\n                    System.out.println("Heyo!");\n                }\n            });\n        }\n        catch (Exception exception) {\n            exception.printStackTrace();\n        }\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n …

java bitcoinj bitcoin-testnet

10
推荐指数
1
解决办法
1028
查看次数

Blockcypher 错误 非规范签名:长度标记错误

我尝试使用 blockcypher 签署比特币测试网交易,但是当我发送交易时出现错误:

\n\n
Error building input: Error generating scriptsig when building transaction: Invalid signature: Non-canonical signature: wrong length marker\n
Run Code Online (Sandbox Code Playgroud)\n\n

下面是我用来创建和签署交易的完整代码

\n\n
var bitcoin = require("bitcoinjs-lib");\nvar buffer = require(\'buffer\');\nvar keys = new bitcoin.ECPair.fromWIF(\'cMvPQZiG5mLARSjxbBwMxKwzhTHaxgpTsXB6ymx7SGAeYUqF8HAT\', bitcoin.networks.testnet);\n\nvar newtx = {\n    inputs: [{ addresses: [\'ms9ySK54aEC2ykDviet9jo4GZE6GxEZMzf\'] }],\n    outputs: [{ addresses: [\'msWccFYm5PPCn6TNPbNEnprA4hydPGadBN\'], value: 1000 }]\n};\n\n// calling the new endpoint, same as above\n$.post(\'https://api.blockcypher.com/v1/btc/test3/txs/new\', JSON.stringify(newtx)).then(function (tmptx) {\n    console.log(tmptx);\n    // signing each of the hex-encoded string required to finalize the transaction\n    tmptx.pubkeys = [];\n    tmptx.signatures = tmptx.tosign.map(function (tosign, …
Run Code Online (Sandbox Code Playgroud)

javascript bitcoin blockchain bitcoin-testnet blockcypher

5
推荐指数
1
解决办法
551
查看次数