从零学本体dApp开发(4): 本体私有链solo-chain是啥?

原创 | 工匠 (来自本体社区的技术人员)

---------------

 

写在前面

最近在利用业余时间学习本体的开发。我打算把自己学习的过程记录下来,一方面便于自己梳理学到的东西,另一方面希望可以通过笔记的共享,能使本体后来的开发者少走弯路。

由于是初学者,学习本体开发的过程中遇到了很多问题,在此,特别感谢本体社区的各位老师(宏雷、楚笙、Mickey、雪飞的逆袭、Andy季、周佩文等)耐心地为我解答各种各样的问题,本体有你们,真好!

 

学习本篇的目的:

 

上一篇我们提到使用本体CLI进行转账测试时,源账户必须要有余额才能转,那这个余额从哪里来呢?就是利用solo-chain通过界面完成网源账户进行转账。

 

1.前言solo-chain是什么?

从零学本体dApp开发(4): 本体私有链solo-chain是啥?

Solo Chain是专为Ontology开发而设计,它可以一键式本地区块链部署服务,它属于本体的一种私有链,只有一个节点。

它分为Windows版和Mac版,为用户提供一个直观图形用户界面,开发人员可以轻松快速地设置和管理自己的本体区块链私有实例,进行 dApp 开发。

Solo Chain使用起来非常方便,无需安装依赖项,编译源代码或设置Docker镜像。

 

2.solo-chain的下载与安装

solo-chain是一款桌面应用程序,需要先安装才能使用。安装包的获取方式有两种:

 

2.1. 直接到github上下载官方发布的安装包

下载地址是https://github.com/punicasuite/solo-chain/releases,如下图,exe文件时windows安装包,dmg文件是mac安装包,可依据需要下载。

从零学本体dApp开发(4): 本体私有链solo-chain是啥?

 

2.2 下载源代码后编译生成安装包

这种方式的步骤如下:

 

    1. 从Github上克隆项目库:<code style="box-sizing: border-box; font-family: var(--monospace); vertical-align: initial; border: 1px solid rgb(231, 234, 237); background-color: rgb(243, 244, 244); border-radius: 3px; padding: 0px 2px; font-size: 0.9em;">git clone [email protected]:punicasuite/solo-chain.git</code>

    2. 安装依赖项 <code style="box-sizing: border-box; font-family: var(--monospace); vertical-align: initial; border: 1px solid rgb(231, 234, 237); background-color: rgb(243, 244, 244); border-radius: 3px; padding: 0px 2px; font-size: 0.9em;">yarn install</code>

    3. 编译安装程序 <code style="box-sizing: border-box; font-family: var(--monospace); vertical-align: initial; border: 1px solid rgb(231, 234, 237); background-color: rgb(243, 244, 244); border-radius: 3px; padding: 0px 2px; font-size: 0.9em;">yarn build</code>

    4. 跳转到 <code style="box-sizing: border-box; font-family: var(--monospace); vertical-align: initial; border: 1px solid rgb(231, 234, 237); background-color: rgb(243, 244, 244); border-radius: 3px; padding: 0px 2px; font-size: 0.9em;">release</code> 文件夹并打开相应的桌面安装程序(.dmg 或 .exe)

 

3.solo-chain如何使用

使用之前我们先看看Solo Chain有哪些功能:

从零学本体dApp开发(4): 本体私有链solo-chain是啥?

用管理员权限启动 Solo Chain 后,将进入用户界面,如下图

从零学本体dApp开发(4): 本体私有链solo-chain是啥?

可以看到最上面的菜单栏有6个标签:“Account”、“”、“Blocks”、“Transaction”,“Events”、“Smart Contracts”和“log”,可以点击各个标签进入相应的页面。

在菜单栏的下方,可以查看如下信息:

  • RPC / Restful / Websocket Server:你的私有区块链网络通信的服务器地址。

  • Current Height:当前的块高度

  • Gas Price / Gas Limit:用于计算每笔交易所需费用的 gas price 和 gas limit。

Account页面显示了5个账户,只有第一个账户有余额,其他账户默认是0,这个界面可以操作进行转账和解绑ONG。点击每个账户右边的钥匙可以看到它的私钥,私钥在构建自己的应用程序时可能会需要这些私钥来签署交易。

 

3.1 停止/启动网络

点击“Start”按钮可以启动网络,solo chain是每6秒钟出一个快,所以可以看到菜单栏下面的区块高度是一直在增长的。点击“stop”按钮可以暂停网络,但是所有区块链信息是保留的,点击“Reboot”可以重置区块链,之前的所有信息就被清掉了。

 

3.2 资产转账

每个账户的ONT和ONG都可以通过界面操作自由转账的,比如想从第一个账户转账100个ONT到第二个账户,则点击账户右侧的“Transfer”按钮,输入目的账户地址和ONT数量,点击“OK”即可。

从零学本体dApp开发(4): 本体私有链solo-chain是啥?

转账成功后,可以看到两个账户的ONT余额都变了,如下图:

从零学本体dApp开发(4): 本体私有链solo-chain是啥?

 

3.3 解绑ONG

我们可以看到默认的所有账户即使有ONT,但是ONG都是0,我们可以点击“Redeem ONG”进行解绑。只有在 ONT 转出后你才可以申请 解绑ONG。在第一个帐户上单击”Redeem ONG“,将收到该帐户的 ONG,如下图:

从零学本体dApp开发(4): 本体私有链solo-chain是啥?

 

3.4 查看区块信息

转账成功后,就可以单击菜单栏中的 ”Blocks“选项,查看区块信息。

 

从零学本体dApp开发(4): 本体私有链solo-chain是啥?

最下面的0,就是创世区块,后面的Tx number就是表示该区块中有几笔交易,点击每个区块的右边“Detail”按钮可以查看这个区块里的所有信息,包括所有交易信息,我们点击61个区块的详细信息,如下图,可以看到只有一笔交易信息就是我们刚刚转的100个ONT。

从零学本体dApp开发(4): 本体私有链solo-chain是啥?

 

3.5 查看交易信息

单击 “Transactions”标签,可以查看所有已处理的交易,如下图;

从零学本体dApp开发(4): 本体私有链solo-chain是啥?

 

3.6 查看通知事件

单击 ”Events“标签,可以查看交易中发出的所有通知事件,如下图:

从零学本体dApp开发(4): 本体私有链solo-chain是啥?

 

3.7 查看已部署的合约

单击 ”Smart Contracts“选项卡,可以查看部署在所处网络中的所有合约的完整列表,如下图:

从零学本体dApp开发(4): 本体私有链solo-chain是啥?

 

3.8 查看日志

单击”Logs“选项卡,可以查看私有网络的完整日志记录,如下图:

从零学本体dApp开发(4): 本体私有链solo-chain是啥?

到这里,关于solo-chain就说完了。

写在最后

希望有更多的小伙伴参与到本体开发学习中来,让我们共同位本体的生态建设添砖加瓦!感兴趣的小伙伴可以联系我,共同学习!