原创 | 工匠 (来自本体社区的技术人员)
原文 |力场圈子
写在前面
最近在利用业余时间学习本体的开发。我打算把自己学习的过程记录下来,一方面便于自己输了学到的东西,另一方面希望可以通过笔记的共享,能使本体后来的开发者少走弯路。由于是初学者,学习本体开发的过程中遇到了很多问题,在此,特别感谢本体社区的各位老师(宏雷、楚笙、Mickey、雪飞的逆袭、Andy季等)耐心地为我解答各种各样的问题,本体有你们,真好!
学习本篇的目的:
对于普通用户接触本体区块链时用的最多的就是转账ONT和ONG,转账是通过钱包的操作界面来完成的,这些操作的背后,就是底层都是使用了本体客户端的一些命令去实现的,比如转账用到的命令就是:
./ontology asset transfer --from=<address|index|label> --to=<address|index|label> --amount=XXX --asset=ont
from后面是转账源账户,to后面是转账目的账户,amount后面是转账数量
所以作为一名开发人员,学习底层的操作逻辑是非常重要的,即本体客户端如何使用。
上一篇提到本体客户端的功能非常强大,主要包括有:
-
运行和管理全节点
-
管理钱包帐户
-
管理原生资产
-
管理区块数据
-
显示区块链信息
-
部署和调用智能合约
-
构建、签署和发送交易
关于本体客户端,官方有非常详细的文档,其内容如下图所示,链接在此。我们主要根据这个文档一步步去操作,就能理解了。
下面我们就根据每个功能块来逐一操作。
1、启动和管理Ontology节点
Ontology cli有很多启动参数,用于配置很管理Ontology节点的一些行为。如果不带任何参数启动Ontology cli时,默认会作为一个同步节点接入Ontology的主网。
使用./ontology -help 可以查看到Ontology cli节点支持的所有启动参数。
本体的区块链分三种:
主网 :就是我们通常所说的本体主网,在2018年6月上线的,市面上流通ONT和ONG就在这个网络。
测试网:用于开发测试的网络,行为跟主网是一模一样的。
私有链:只有一个节点,开发者用的最多的就是这种,这样方便本体地调试。
我们运行客户端时,本身的机器就成了节点,本体节点分两种,一种是记账节点(负责记账,享受ONG奖励),另一种是同步节点(只同步区块链中的区块信息),所以我们运行客户端后就是同步节点。
1.1 连接到主网,成为主网节点 ,成为主网节点:
运行命令:./ontology,如下,看到的很多打印出来的信息就是在下载区块链信息:
1.2 连接到测试网,成为测试网节点:
运行命令:
./ontology --networkid 2
后面的参数networkid 2 值得就是测试网,主网的id是1。
1.3 连接到私有连,成为私有连节点:
运行命令:./ontology --networkid 3 或 ./ontology --testmode,如下图:
这里报错了,可以看出是找不到钱包文件,需要注意的是:第一次启动测试模式之前,需要创建钱包文件,
运行命令:
./ontology account add -d
这里要求设置密码,我们最好设置6位以上的密码,后面运行智能合约如果这个密码小于6位会出错,输入两次密码后,钱包就创建成功,如下:
我们可以在ontio的目录下看到钱包文件,如下图:
这里我有一个疑问:钱包的私钥在哪里?后来得到社区大牛的解释说,私钥就加密后存在这个.dat的钱包文件里。
2、钱包管理
钱包管理命令可以用来添加、查看、修改、删除、导入账户等功能。 使用 ./ontology account --help 命令可以查看钱包管理命令的帮助信息。
2.1 添加账户
每个钱包都一个默认账户,一般情况下是第一个添加的账户。默认账户不能被删除,可以通过./ontology account set 命令来修改默认账户。
我们先通过./ontology account list命令来查看这个默认账户,如下图,Index:就是默认账户,
然后我们通过./ontology account add --default命令来添加账号,如下图:
2.2 查看账户
我们通过./ontology account list命令来查看新建的账户,如下图,我们看到了Index2,说明创建成功了。
其中,Index 为账户在钱包中的索引,索引从1开始,Addres 为账户地址,Label 为账户的标签,default表示当前账户是默认账户。 在Ontology cli中,可以通过Index、Address或非空的Label来查找账户。
2.3 修改账户
修改账户就是修改账户相关的信息,比如修改账户标签,修改账户密码,命令是:
./ontology account set --change-passwd <address|index|label>
执行过程是先输入原密码,然后输入两次新密码,如下图:
可以看到修改密码成功了,后面的“2”表示修改Idenx为2的账户的密码
2.4 删除账户
对于钱包中不需要的账户,可以删除。删除账户后无法恢复,所以请谨慎操作。注意:默认账户无法被删除。
./ontology account del <address|index|label>
执行过程过下:
可以看到删除Idenx位2的账户成功了。
2.5 导入账户
导入账户命令可以把另一个钱包中的账户导入到当前的钱包中。
./ontology account import -s=./source_wallet.dat
目前我们只有一个钱包,所以需要新建另外一个新钱包,因为创建钱包时产生的.dat钱包文件都是wallet.dat,所以旧的钱包文件会被覆盖掉,我们搜先要把原来的钱包重命名,执行命令:
mv wallet.dat source_wallet.dat
然后通过 ontology account add -d重新生成一个钱包,
现在就可以把旧钱包的账户导入新钱包了,执行过程如下:
可以看到成功导入了一个账户。在查看下新钱包是否有两个账户,
如上图所示,有两个账户,说如导入账户成功了。
转载:https://blog.csdn.net/ontologycoding/article/details/101017954