宛十八区块链研发

区块链开发之Achain 02钱包基本操作和RPC服务的使用(文

2018-08-19  本文已影响226人  35e3fd5d8158

一、同步区块节点

接上一篇教程我们编译完成了一条测试链之后需要首先同步一下当前测试网中的区块数据,首先启动编译好的测试链,输入get_info命令

image.png

这里注意 "blockchain_head_block_age": "6 seconds old",如果时间太久说明区块链未完全同步完成。
也可以通过blockchain_is_synced的命令来检查是否于区块同步完成


image.png

如果返回true 说明已同步

二、创建钱包账户

如果我们要使用转账等一些功能那么我们需要在Achian节点上先创建一个钱包,通过钱包来管理私钥和账户,在Achian上一个钱包是可以对于多个账户和地址的。我们使用wallet_create的命令在节点上创建一个自己的钱包。然后需要填入2个参数 "wallet_name", "password",分别是钱包名称和对应的密码。


image.png

这里我创建一个名字为myachiantest的钱包。

三、创建账户

我们有了钱包之后想要进行转账和收款是需要有一个区块的地址的,那么我们就来在ACHIAN上就是账户的概念,一个账户对应一个地址。

  1. 开打钱包

在我们执行与账户有关的操作的时候首先都需要对于打开对应的钱包,比如我要操作一个再A钱包下的ACTXXXXXX地址的账户我就需要打开A钱包之后才能对这个账户操作,这里由于我们目前只有钱包所有我们先要打开钱包再创建账户,wallet_open 这里需要一个参数wallet_name,不过由于我们之前创建了钱包,所以这里默认是打开的之前创建好的钱包。


image.png
  1. 创建账号

通过wallet_account_create 命令来创建账号,这里需要一个参数,account_name,这里创建的是你的账户名。

image.png

创建成功之后会返回一个ACHAIN的地址:这里就返回了一个ACTJfZ2Py5aSMi92czsjC9KtYwSgweS8Lqns地址 这个地址就是你在测试链上的地址。把他保存起来一会咱们要用。
如果我们忘记了地址怎么半,可以通过wallet_list_my_accounts 命令查询当前钱包下的所有账号,拿到账号之后再通过wallet_get_account_public_address传入账号名,来返回对应账号的地址。

image.png
  1. 获取账号私钥

再区块链上只有私钥才是保证账号是你拥有的唯一证明,那么我们该如何获取当前账号的私钥呢,通过wallet_dump_account_private_key命令来获取指定账户的私钥。这里需要传入2个参数, "account","key_type",前面一个是账户名,后面这个是私钥类型,有3个owner_key, active_key, signing_key,这里我们只要使用owner_key就行。


{GJD[E}@]6I35Q$JU%PLFH9.png

然后就会返回你账号的对应私钥,把他保存起来。到这里我们就成功再测试链上创建了一个完整的账号。由于是一个新的账号,大家如果需要使用的话可以联系官方的人员再测试链上要一些ACT代币来使用。

三、转账

这里的演示我就从我另外一个已经用测试币的账号上转到这个账号。
首先我们打开一个有代币的钱包。和上面打开钱包的方式一样使用wallet_open,我这里就不重复演示了。
然后我们查询一个账户中的余额。wallet_account_balance 这里有一个选填参数,account 如果不填就是查询当前钱包下的账户余额情况。


image.png

注意两者的区别
我们可以看到didixyy001的账号下面是12个ACT的,我们把这个ACT转到我们刚才创建的loveachian的账户下面去。

  1. 钱包解锁

再ACHAIN上对账号进行转账操作首先我们需要对钱包进行解锁。使用wallet_unlock命令来完成对钱包的解锁。


image.png

这里有2个参数,一个是解锁时间,一个是密码。

  1. 进行转账

使用wallet_transfer_to_address命令来进行转账 "amount_to_transfer", "asset_symbol", "from_account_name", "to_address", "memo_message", "strategy" 他有这么几个参数,"amount_to_transfer", "asset_symbol", "from_account_name", "to_address", 这几个是完成一次转账的必填参数,分别是。转账金额、 转账资产类型、 取钱账户、 转账到账户的地址。

image.png

这里返回的接过需要注意的是08ee78db8dfc4d14b16b7bd63f3027e430d8e58f这个就是本次交易的ID

  1. 查询交易结果

通过 wallet_get_transaction 然后传入我们刚才的交易ID 08ee78db8dfc4d14b16b7bd63f3027e430d8e58f 就能查看到本次交易的具体信息,意味这你这次交易的数据已经上链。


image.png

然后我们可以通过打开之前的钱包然后查询余额的方式来查看loveachian的账号有没有收到转来的钱。

image.png

这样我们一次转账操作就完成了

RPC服务的使用

一、打开PRC服务

刚才上面这些钱包的操作都是通过命令行来执行的,使用起来非常的不友好,而且不方便调用,ACHAIN也提供了RPC的方式就像正常调用接口的方式来调用这些指令,如何启用RPC服务呢,有两种方式。

  1. 命令行启动Achain的时候增加一些参数
    --server --rpcuser a --rpcpassword b --rpcport 8298 --httpdendpoint 127.0.0.1:8299 --data-dir C:\Users\33159\AppData\Roaming\ACT-Test\wallets
    这里的a是用户名 b是密码 8298是socket的端口 127.0.0.1:8299是JSONRPC的地址 C:\Users\33159\AppData\Roaming\ACT-Test\wallets是区块数据的保存地址


    image.png
  2. 直接修改配置文件


    image.png

    修改完之后记得保存,然后直接启动achian 这时候就会默认加载这些基础配置

二、通过RPC服务调用命令

首先我们需要下载一个工具POSTMAN,方便我们调试接口。https://www.getpostman.com/ 这是一个免费的工具
然后我们就可以通过POST的方式来访问Achian。

image.png
需要注意的是,Authorization 后面填入的值是有一定的规则需要遵守的 是6位随机数字,这里可以你自己随意填写,然后加上你账户和密码的base64j加密组成。username:password 以这样的格式进行加密。http://tool.oschina.net/encrypt?type=3 可以通过这个网址直接操作。或者一个密钥。
然后再body中选择RAW然后把Text改成JSON(application/json)在下面填入对应的JOSN参数就行。
向服务端传输数据格式如下:
{ "method": "方法名", "params": [“参数数组”], "id": 方法ID}
 说明:

第一个参数: 是方法的名值对

第二个参数: 是参数数组逗号隔开

第三个参数: 是方法ID(可以随意填)
image.png

请求成功之后就会下面新出现的body中显示返回的内容,这里的内容和用命令行看到的内容基本一致。


image.png

文末福利

最近七夕不是很火么 ,很多公链都推出了自己的真爱上链活动,其实Achain也可以把大家想表白人和想说的话写在链上。而且很便宜和很简单。下面我就交大家一下怎么操作。

  1. 打开https://browser.achain.com/wallet.html#/sign。或者打开你的本地钱包也可以

向任意地址转账0.01个ACT,我这里使用的是ACT8r86HUFHZwmDeyegc2nErKuGs8Ue2VWhk的地址。


IZCKHPB5%KIPRB_X8WIE7(6.png

转账成功之后我们就可以在Achain的浏览器上看到这一次的转账记录,保存这次交易的ID ,你对喜欢人的表白和爱情誓言就永远记录的区块链上了。


image.png
如果喜欢这篇文章,欢迎各位大佬打赏,ACT8r86HUFHZwmDeyegc2nErKuGs8Ue2VWhk
image.png
上一篇 下一篇

猜你喜欢

热点阅读