如何使用RPC javascript连接到服务器中运行的比特币守护进程?

时间:2018-04-01 05:24:02

标签: javascript ubuntu rpc bitcoin

我是RPC的新手。我开发了一块使用许多硬币进行交换的板子。但我的主板是基于其他网站api获取用户的BTC地址。我希望它是独立的。所以我正在搜索,我发现这可以在服务器上设置比特币守护进程并使用RPC(RPCuser,RPCpassword,RPCport等)配置它然后使用javascript将我的板连接到比特币守护进程以获得每个用户他的BTC钱包地址。我的问题是我在RPC javascript开发中的新功能。那么请你给我一个简单的javascript代码,使用RPC连接到比特币守护进程并获得一个新的钱包地址,平衡,发送和接收资金,历史......等等?我已经在我的服务器上安装了比特币守护进程并运行它。我只留下了javascript代码。这是我的bitcoin.conf文件信息:

rpcuser=username
rpcpassword=mypassword 
rpcallowip=127.0.0.1
rpcallowip=xxx.xxx.xxx.xxx
rpcallowip=xxx.xxx.xxx.xxx
rpcport=8332
server=1
daemon=1
listen=1
txindex=1

2 个答案:

答案 0 :(得分:0)

您可以使用以下命令使用cURL从终端进行RPC调用:

curl --user username --data-binary'{“jsonrpc”:“1”,“id”:“”,“method”:“getblockchaininfo”,“params”:[]}' - H'的内容-type:text / plain'http://localhost:8332/

会提示输入密码。您需要输入mypassword。您将得到以下答复。

{ “结果”:{ “链”: “主”, “块”:516395, “报头”:516395 “bestblockhash”: “00000000000000000041e29f2cc8a69d58f5a697911aa00cac2f85e804dddbcc”, “困难”:3511060552899.72, “mediantime”:1522732888” verificationprogress “:0.9999903671792401,” initialblockdownload “:假的,” chainwork “:” 0000000000000000000000000000000000000000016983aead48f5850394132c “ ”size_on_disk“:538941354, ”修剪“:真实的, ”pruneheight“:515612, ”automatic_pruning“:真实的, ”prune_target_size“:629145600,” softforks “:[{” ID “:” bip34" , “版本”:2, “拒绝”:{ “状态”:真}},{ “ID”: “bip66”, “版本”:3, “拒绝” :{ “状态”:真}},{ “ID”: “bip65”, “版本”:4, “拒绝”:{ “状态”:真}}], “bip9_softforks”:{ “CSV”:{”状态 “:” 活跃”, “开始时间”:1462060800, “超时”:1493596800 “因为”:419328}, “segwit”:{ “状态”: “活跃”, “开始时间”:1479168000, “超时”:1510704000 “因为”:481824}}, “警告”: “”}, “错误”:空, “ID”: “”}

答案 1 :(得分:0)

我正在使用Node JS。您需要为比特币安装npm。

请找到以下代码。

在终端

npm install bitcoin 
AppRoutes文件中的

var bitcoin = require('bitcoin');
var client = new bitcoin.Client({
 host: Your IP Address of Node,
 port: 18332,
 user: UserName,
 pass: Password
});

app.post("/chainInfo", function(req, res) {

   console.log('BlockChainInfo: need');
   client.getBlockchainInfo(function(err, info) {
     if (err) {
       console.log('info: completed');
       return console.error(err);
     }else{
       console.log('info: ' + info);
       res.send(info);
     }
   });
});