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

2024-04-27 23:58

本文主要是介绍Simple_Wallet 在服务器端通过RPC操纵钱包,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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 >提交已经签名的交易信息并广播到整个互联网,返回值为交易哈希
signrawtransactionhexstring,[{“txid”:txid,”vout”:n,”scriptPubKey”:hex},…][,…]非常重要得一步,对交易进行签名操作。其中第一个参数为“createrawtransaction”返回的hex值。第二个参数里“txid”,“vout”,“scriptPubkey”和“listunspent”返回值一一对应(下一张签名过程中会介绍到)。第三个参数为对应的私钥明文(当然如果私钥本身保存在这个参数可省略)

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

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

这篇关于Simple_Wallet 在服务器端通过RPC操纵钱包的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/941840

相关文章

关于rpc长连接与短连接的思考记录

《关于rpc长连接与短连接的思考记录》文章总结了RPC项目中长连接和短连接的处理方式,包括RPC和HTTP的长连接与短连接的区别、TCP的保活机制、客户端与服务器的连接模式及其利弊分析,文章强调了在实... 目录rpc项目中的长连接与短连接的思考什么是rpc项目中的长连接和短连接与tcp和http的长连接短

uva 10014 Simple calculations(数学推导)

直接按照题意来推导最后的结果就行了。 开始的时候只做到了第一个推导,第二次没有继续下去。 代码: #include<stdio.h>int main(){int T, n, i;double a, aa, sum, temp, ans;scanf("%d", &T);while(T--){scanf("%d", &n);scanf("%lf", &first);scanf

Java Socket服务器端与客户端的编程步骤总结

一,InetAddress类: InetAddress类没有构造方法,所以不能直接new出一个对象; 可以通过InetAddress类的静态方法获得InetAddress的对象; InetAddress.getLocalHost(); InetAddress.getByName(""); 类主要方法: String - address.getHostName(); String - addre

Matlab实现RPC算法

RPC(Remote Procedure Call,远程过程调用)是一个在计算机网络中常用的技术,允许一个程序调用另一个地址空间(通常位于另一台计算机上)的过程或函数,就像调用本地程序中的函数一样。 下面是一个简化的示例,展示如何使用 Matlab 的 TCP/IP 套接字功能来模拟 RPC 调用。在这个例子中,我们将创建一个简单的服务器(server.m),它监听一个端口并响应客户端(clie

python实现RPC算法

在Python中实现RPC(远程过程调用)算法可以通过多种方式完成,但最常见和简单的方法之一是使用现有的RPC框架,如gRPC(基于Google的Protocol Buffers)或Pyro4。这里将使用Pyro4来演示如何创建一个简单的RPC服务器和客户端。 安装Pyro4 首先,需要安装Pyro4。可以通过pip轻松安装: pip install Pyro4 创建一个RPC服务 接下

TCP网络通信服务器端简单示例

服务器端: #include <stdio.h> #include <winsock2.h> //和网络通信相关的函数的声明,类型的声明,常量的定义等都在此头文件中 #pragma comment(lib,"ws2_32.lib") int main() { //第一步:初始化Socket函数库 WSADATA wsaData; //向系统请求使用2.2版本的Socket函数库,wsaDat

使用django-simple-captcha遇到的坑

使用django-simple-captcha遇到的坑 一站点gongshare.com在做注册功能时验证码采用的django-simple-captcha,因为笔者开发环境采用的Windows 64bit系统,结果安装使用的时候接二连三遇到好几个坑。 django-simple-captcha需要依赖django1.3+、PIL1.1.7+或者Pillow2.0+,根据文档安装后开始使用时,

中秋国庆请客喝酒,面子与钱包双赢的红酒选择

平时生活中,总少不了各种聚会,不管是朋友小聚,还是正式的商务宴请,酒都是少不了的,而现在,越来越多的人都喜欢选择红酒来助兴。 喝红酒的人不少,懂红酒的人却不多。有时候真的很尴尬,明明环境菜都不错,就是红酒太难喝,每一口都要鼓足勇气才能下咽。 其实,酒也是饭局的重要组成部分,如果酒不好喝,客人事后也是会暗暗吐槽的。所以,一个好的饭局,酒一定也是好的。 这里说的“好”,既要面子上

HYPERCASUAL - Simple Characters(卡通游戏火柴人物模型)

介绍HyperCasual - 简单角色! 一套低多边形角色资源,用于创建超休闲风格的游戏。 包含演示场景 角色(x10) 生化人、小丑、Flaty_Boss、女孩、守门员、英雄、亚马逊女战士、男人、红衣男人、修理工 每个网格大约有700-2000个顶点 角色设置与Mecanim兼容(本包中不包含动画) 着色器适用于可编写脚本的渲染管线(HD + LW) 下载:​​Unity资源商店链接资源

RPC框架-Avro

引言 远程过程调用(RPC, Remote Procedure Call)是一种允许程序调用远程服务器上函数或方法的技术,应用广泛于分布式系统中。在RPC的众多实现中,Apache Avro作为一种数据序列化框架,以其紧凑、高效、跨语言等特性而受到广泛关注。Avro不仅支持数据序列化,还提供了一个简洁的RPC框架,特别适合与Hadoop生态系统集成。 本文将详细探讨Apache Avro框架的