北京时间2018年4月30日,MOAC公链主网正式上线。本文以MOAC nuwa1.0.5版本为例,详解安装流程。实际安装请以当前最新发布版本为准。
1.准备工作
MOAC区块链系统软件包下载地址为:
https://github.com/MOACChain/moac-core/releases
本文案例为nuwa1.0.5,nuwa(女娲)为代号,1.0.5为版本号。
windows版本适用于64位/32位Windows 7及以上系统。
本文实际操作环境为:64位Windows 10 中文版。
2.节点安装
解压下载的软件包nuwa1.0.5.win.zip到本地硬盘。目录win下包含两个文件夹。
说明:
scs:子链节点程序,里面有3个文件;分别是64位执行程序scsserver-windows-4.0-amd64.exe、32位执行程序scsserver-windows-4.0-386.exe和配置文件userconfig.json;
vnode:主链节点程序,里面有5个文件;分别是64位执行程序moac-windows-4.0-amd64.exe、32位执行程序moac-windows-4.0-386.exe、配置文件vnodeconfig.json、部分功能代码mctest.js和说明文档README.txt;
2.1 查看moac帮助
打开命令(cmd)终端,转到墨客解压目录,在命令行中执行:
D:\nuwa1.0.5.win\win\vnode>moac --help
\\把相应版本的执行程序改名为moac.exe,后同
2.2 安装节点
打开命令(cmd)终端,转到墨客当前目录,在命令行中执行:
D:\nuwa1.0.5.win\win\vnode>moac
//mainnet
D:\nuwa1.0.5.win\win\vnode>moac --testnet
//testnet
程序会自动安装到目录:C:\Users\[userName]\AppData\Roaming\MoacNode。该目录下包含文件夹moac和keystore。
如果是要安装到墨客测试网,程序会自动安装到目录:C:\Users\[userName]\AppData\Roaming\MoacNode\testnet
如果网络正常,节点会自动开始同步。
注意:
1、仅在安装moac节点的时候使用不带任何参数的moac命令;
2、测试网安装的节点,每次执行moac命令后面都需要加上--testnet;
3、如果节点同步比较慢,可以将别人已经同步好的节点的MoacNode\moac目录直接拷贝过来使用。
2.3 启动已经存在的节点
系统关机或主动关闭运行中的节点后,如果需要重新启动节点,在命令行中执行:
D:\nuwa1.0.5.win\win\vnode>moac console
该命令执行后,节点会自动从上次同步的区块开始同步数据
如果是在云端安装的节点,通常是Linux环境。启动节点命令:
nohup ./moac --rpc --rpcaddr=0.0.0.0 --rpcport=8545 --rpcapi="chain3,mc,net,db,personal,debug,vnode,scs" &
2.4 进入节点attach界面
节点的console界面因为一直在同步数据,滚屏速度较快,不方便接收命令和查看命令输出效果,需要打开另一个命令(cmd)终端,转到墨客当前目录,在命令行中执行:
D:\nuwa1.0.5.win\win\vnode>moac attach
./moac attach http://127.0.0.1:8545 //mac
该命令依赖于节点已经运行起来,进入后,没有滚屏动作,方便用户输入命令及查看输出结果。
如果是非windows系统,可能需要加上ipc endpoint。在terminal命令行中执行:
//centOS
[root vnode]# ./moac-linux-amd64 attach /root/.moac/testnet/moac.ipc //testnet
[root vnode]# ./moac-linux-amd64 attach /root/.moac/moac.ipc //mainnet
或者Mac系统:
3.子链服务配置
vnode目录下的文件vnodeconfig.json是主链服务的配置文件。
{
"ip":"localhost",
"ShowToPublic": true,
"VnodeServiceCfg": ":50062",
"SCSservice": true,
"VnodeBeneficialAddress" : "0xD814F2ac2c4cA49b33066582E4e97EBae02F2aB9"
}
"ip":
允许外部用户通过该IP地址与VNODE连接,默认值localhost标识本机。
"ShowToPublic":
1、false - 不允许外部用户连接到SCS;
2、true - 允许外部用户通过该vnode连接SCS, 同时需要配置有效的ip地址值。
"VnodeServiceCfg":
SCS通信IP地址和端口, 默认值为50062。
"SCSservice":
1、false -不支持SCS连接;
2、true -支持SCS 连接, 允许VNODE支持子链, 提供该服务后需要提供一个有效的收益地址。
"VnodeBeneficialAddress":
此账号地址用于接收因为提供子链服务而得到的奖励收益,需要将"SCSservice"设置为true。
4、挖矿
4.1 建立新账户
挖矿前节点必须已经建立了一个账户。
进入moac console界面,执行命令建立一个新账户:
> personal.newAccount()
系统会提示输入一个密码,例如"passwd",并再次输入相同密码确认后,会显示一个以0x开头的字符串,即为MOAC帐号的地址。
系统同时会在以下目录记录一个账号文件:C:\Users\userName\AppData\Roaming\MoacNode\keystore。
请保存好该文件,并牢记密码,之后用于解密帐号和操作。
也可以直接在命令里带上密码。比如:
> personal.newAccount("123456")
4.2 查看账户
进入MOAC console界面,执行命令:
> mc.accounts
可以查看本节点下的所有账号。
4.3 查看账户余额
进入MOAC console界面,执行命令:
> mc.getBalance(mc.accounts[0])
可以查看本节点下的账号余额。0表示第一个账户,也是默认挖矿账户。
或者:导入“mctest.js”的情况下,执行命令:
> loadScript("mctest.js")
> checkBalance()
该命令用于查看当前节点所有账号的余额。
mctest.js是节点的一个文件,里面包装了部分功能,需要用loadScript命令导入,才能在界面直接使用。
也可以通过浏览器查看账户余额等情况。
MOAC区块链浏览器:
http://explorer.moac.io/home
测试网浏览器:
http://47.75.144.55:3000/home
4.4 查看挖矿状态
进入MOAC console界面,执行命令:
> mc.mining
返回true表明节点正在挖矿,false表明节点没有挖矿。
4.5 开始挖矿
进入MOAC console界面,执行命令:
> miner.start()
启动挖矿状态时,console界面会有提示开始挖矿。
4.6 停止挖矿
进入MOAC console界面,执行命令:
> miner.stop()
注意:因为主网算力大,很难用普通台式机或笔记本用命令行形式挖到矿,在测试网则可以较容易挖到矿。
5. 交易
5.1 读入函数
mctest.js是节点的一个文件,里面包装了部分功能,需要用loadScript命令导入,才能在界面直接使用。
进入MOAC console界面,执行命令:
> loadScript("mctest.js")
5.2 交易条件
为执行交易,需要至少两个帐号,其中一个有足够的mc。
如果没有目标账号,可以用步骤3.1的命令创建一个本地账号。
5.3 交易
进入MOAC console界面,执行命令:
> Send(mc.accounts[0], 'passwd', mc.accounts[1], 0.1)
这个过程中,mc.accounts[0]是发送账号,mc.accounts[1]是接收账号,'passwd'是第一个账号的密码,发送额为0.1 mc。
发送通常在下一个区块产生时完成。
系统显示的是以 sha(Sand) 为单位的余额, 1 mc = 1e18 sha。
6. 查看邻接点
启动节点的时候需要打开rpcapi包含“admin”;进入moac attach界面,可以查看邻接点信息:
附:墨客常用命令行参数
示例: