在服务器端通过RPC操纵比特币钱包

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m0_38113129/article/details/79338709

在LINUX服务器上安装了比特币的核心钱包后,可以通过RPC命令操纵比特币钱包,最常用的命令:

/usr/local/bitcoin/bin/bitcoin-cli --datadir=/www/bitcoin/data/ getinfo   


{
  "deprecation-warning": "WARNING: getinfo is deprecated and will be fully removed in 0.16. Projects should transition to using getblockchaininfo, getnetworkinfo, and getwalletinfo before upgrading to 0.16",
  "version": 150100,
  "protocolversion": 70015,
  "walletversion": 139900,
  "balance": 0.01000000,
  "blocks": 509963,
  "timeoffset": -1,
  "connections": 8,
  "proxy": "",
  "difficulty": 2874674234415.941,
  "testnet": false,
  "keypoololdest": 1517114450,
  "keypoolsize": 1999,
  "paytxfee": 0.00000000,
  "relayfee": 0.00001000,
  "errors": ""

}

注意其中的“blocks”参数,截止我写这篇文章时同步到509963块,查询Blockchain发现最新块也是如此。说明我们的同步已经赶上了最新块.


其中我们会比较常用的几种命令,精选如下(字母顺序)

Command(命令) Parameters(参数) Description(描述)
createrawtransaction [{“txid”:txid,”vout”:n},…] {address:amount,…} 这条命令是用来创建新的交易的,主要的两个参数为unspend(为花费的比特币的信息)以及目标地址信息,生成结果为一个压缩后的hex string
decoderawtransaction < hex string> 用这个命令将一个压缩后的hex string解析为JSON对象,这样方便我们观察交易的具体信息
dumpprivkey < bitcoinaddress > 通过提供比特币地址,来返回此地址所对应的私钥(当然前提是这个地址是本身钱包中的)
getaccount < bitcoinaddress > 通过提供比特币地址,来返回此地址对应的账户(前提是这个地址是本身在钱包中的)
getaccountaddress < account > 这个命令是提供账户名称返回一个账户中的地址方便收款,如果参数“account”在钱包中并不存在,那么就新建一个同名account并在这个account中新建一个比特币地址并返回
getaddressesbyaccount < account > 这个命令是提供一个账户名称,并返回一个list对象,里面包含这个账户下的所有地址,如果压根没有这个地址,那么返回一个空list
getbalance [account] [minconf=1] 几乎是最常用的命令,如果不填写参数则默认用来返回钱包所有帐户中的所有比特币余额总和,如果填写account则为指定账户的余额总和,“minconf”参数来控制有几个确认,一般填写3即可
getinfo   也是最常用的命令之一,返回一个包含各种信息的对象
getnewaddress [account] 生成一个新的比特币地址,如果指定了account,则在该account名下生成这个地址
getrawtransaction < txid > [verbose=0] 参数为“txid”以及一个int类型的参数(默认为0),返回txid对应的Hex值。如果verbose为0则返回序列化的Hex字符串,如果为1则返回解析后的Hex字符串
getreceivedbyaccount [account] [minconf=1] 第一个参数为“account”,第二个参数为确认数(选填)。通过这个函数可以获得对应account所受到的所有比特币
gettransaction < txid > 通过txid来获取transaction交易信息
listaccounts [minconf=1] 列表形式列出钱包中所有的账户名称
listunspent [minconf=1] [maxconf=999999] 非常常用的一个命令,有两个参数“最小确认”与“最大确认”,返回植为未花费的“input”
sendrawtransaction < hex string > 提交已经签名的交易信息并广播到整个互联网,返回值为交易哈希
signrawtransaction hexstring,[{“txid”:txid,”vout”:n,”scriptPubKey”:hex},…][,…] 非常重要得一步,对交易进行签名操作。其中第一个参数为“createrawtransaction”返回的hex值。第二个参数里“txid”,“vout”,“scriptPubkey”和“listunspent”返回值一一对应(下一张签名过程中会介绍到)。第三个参数为对应的私钥明文(当然如果私钥本身保存在这个参数


猜你喜欢

转载自blog.csdn.net/m0_38113129/article/details/79338709