Simple_Wallet 在服务器端通过RPC操纵钱包

完成了前几步后大约第三天,我们在服务器上输入

btc-cli getinfo
  • 1

获得如下内容

{"version" : 100000,"protocolversion" : 70002,"walletversion" : 60000,"balance" : 0.00000000,"blocks" : 346865,"timeoffset" : -3,"connections" : 45,"proxy" : "","difficulty" : 47427554950.64830017,"testnet" : false,"keypoololdest" : 1425532189,"keypoolsize" : 101,"paytxfee" : 0.00000000,"relayfee" : 0.00001000,"errors" : ""
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

注意其中的“blocks”参数,截止我写这篇文章时同步到346865块,查询Blockchain发现最新块也是如此。说明我们的同步已经赶上了最新块,我们可以开始接下来的事务

你可以注意到,我刚才的操作btc-cli getblock,这个是什么意思呢?
其实这就是我们通过json-rpc接口来操纵钱包,向钱包软件下命令。

Run bitcoind or bitcoin-qt -server. You can control it via the command-line bitcoin-cli utility or by HTTP JSON-RPC commands.

可供操作的命令有非常多的种类

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

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”返回值一一对应(下一张签名过程中会介绍到)。第三个参数为对应的私钥明文(当然如果私钥本身保存在这个参数可省略)

以上是常用的大部分命令,完整版请移步官方api文档 (这款排版比较混乱,我的汉化计划也在进行中,尽请期待~)

接下来你可以尝试在终端中输入这些命令来控制钱包,比如
btc-cli getbalance获取余额
btc-cli getinfo获取钱包信息

Simple_Wallet 在服务器端通过RPC操纵钱包相关推荐

  1. 什么样的 RPC 才是好用的 RPC

    现在RPC框架很多,但是真正好用的RPC却是少之又少.那么什么是好用的RPC,什么是不好用的RPC呢,有一个评判标准吗?下面是我列举出来的衡量RPC好用与否的几条标准: 真的像本地函数一样调用 使用简 ...

  2. linux下的RPC

    一.概述 在传统的编程概念中,过程是由程序员在本地编译完成,并只能局限在本地运行的一段代码,也即其主程序和过程之间的运行关系是本地调用关系.因此这种结构在网络日益发展的今天已无法适应实际需求.总而言之 ...

  3. Hadoop RPC框架

    原文:http://blog.csdn.net/thomas0yang/article/details/41211259 --------------------------------------- ...

  4. 什么样的RPC才是好用的RPC

    什么样的RPC才是好用的RPC 现在RPC框架很多,但是真正好用的RPC却是少之又少.那么什么是好用的RPC,什么是不好用的RPC呢,有一个评判标准吗?下面是我列举出来的衡量RPC好用与否的几条标准: ...

  5. Glusterfs之nfs模块源码分析(下)之NFS协议之RPC的实现和NFS协议内容

    一.网络文件系统概述 Sun Microsystems公司于1984年推出了一个在整个计算机工业中被广泛接受的远程文件存取机制,它被称为Sun的网络文件系统(Network File System), ...

  6. 分布式链路追踪 之 Skywalking 设计理念核心原理

    摘要 对大型分布式系统进行监视,可视化和故障排除是一项重大挑战.当今使用的一种常见工具是分布式跟踪系统(例如Google Dapper)[1],它基于跟踪数据检测拓扑和度量.当今拓扑检测的一大局限性在 ...

  7. 为何Redis要比Memcached好用(转)

    转载链接:http://blog.csdn.net/renfufei/article/details/40598889 GitHub版本地址: https://github.com/cncounter ...

  8. gRPC 的 4 种基础通信模式

    题图 |  from freepik 本文将讨论 gRPC 应用程序的 4 种基础通信模式:一元 RPC.服务器端流 RPC.客户端流 RPC 以及双向流 RPC.在这个过程中,我们会使用一些真实用例 ...

  9. 新书上市 | 6岁的gRPC,终于出书了!

    gRPC是由谷歌开源的高性能远程过程调用框架.再过十几天,它就满6岁了.虽然gRPC的采用率正呈指数级增长,但中文领域一直没有一本综合介绍该技术的实体书.现在,这种尴尬局面终于被打破了! 新 书 上 ...

最新文章

  1. 东汉末年,他们把「服务雪崩」玩到了极致(干货)
  2. 使用Junit4时问题
  3. 反其道而行:教人写烂代码的开源项目
  4. GDCM:DICOM转储到DshibaDTI的测试程序
  5. 《对马岛之魂》:“取巧”成功的佳作
  6. 期货与期权(part6)--保证金
  7. python基础入门大作业怎么做_【百度飞桨】零基础Python课程大作业
  8. java - 水仙花数
  9. 光线跟踪是什么? 光能传递(radiosity lighting)是什么?
  10. keras demo - fashion_mnist
  11. 简书bug(已修复):简友圈含英文时误删空格
  12. 索尼便携式无线服务器,WF-SP900体验报告:2018索尼真无线产品中的顶端存在
  13. SAS下载高频数据脚本
  14. 计算机添加打印机地址簿添加不上,为什么本地打印机添加不上,怎么办?
  15. 根据error_log发现图片木马,被上传到图片文件夹
  16. 《普林斯顿微积分读本》笔记
  17. excel2010设置列宽为像素_如何以厘米为单位精确设置Excel表格的行高列宽?
  18. vue 跳转html页面,vue项目实现页面的跳转
  19. matlab三个坐标,[MATLAB基础] 画有一个有xyz三个坐标的图
  20. 拼多多现重大Bug,一晚被薅羊毛数千万!

热门文章

  1. ldapsearch 的用法
  2. 运放-运算放大器应用电路+波形
  3. 深度学习 相机标定_相机标定
  4. Taro 支付宝小程序开发
  5. ms08_067漏洞渗透步骤——MSF
  6. python程序员现状_天才Python程序员身价上亿却被说挫,6个月减90斤,逆袭成文艺范男神!...
  7. FIR,IIR数字滤波器的matlab完整设计
  8. 最强战队出炉!“嬴彻-清华AIR杯”自动驾驶挑战赛收官
  9. 1113 -- 位数
  10. 使用 Python 自动生成 HTML