ugChain项目在区块链技术首创的双链划转的概念(以太坊公链与联盟链相互切换)具有很强应用型和创新性,部署在以太坊上的UGC Contract,实现价值上链;在业务层面,针对游戏行业高频,大用户量,安全要求高等特点,创造性提出了DAS Account Contract,并部署在联盟链(用的是quorum)上,极大的扩展了以太坊的业务层面的局限。
本文旨在从技术的角度,针对ugChain开源出来的代码,进行测评;另外本文对以太坊dapp开发者是一个很好的学习资料,可以了解一个优秀的商业级的区块链项目是如何设计和开发。
测评
ugChain社区开源地址:https://github.com/ugchain
ugChain智能合约项目地址:https://github.com/ugchain/ugc-contract.git
1,git clone https://github.com/ugchain/ugc-contract.git
2,在另一个ssh打开,ganache-cli,获取localhost地址
3,配置合约:remove build文件夹和修改truffle.js网路参数,修改truffle里面的networks
<一>Truffle和Gananche的方式,编译部署Ugchain
4,进入ugc-contract 目录,truffle compile
5,truffle migrations
切换到另一个ssh
6,UGCoin.js 测试脚本
truffle test
切换另一个ssh,测试记录
ps:在gananche客户端的显示
合约创建信息
合约发布信息
<二>私有链Geth的方式完成部署
1,安装go-ethereum客户端
git clone https://github.com/ethereum/go-ethereum.git
cd go-ethereum
make geth
2,新建文件genesis.json
在终端使用以下命令进行初始化
mkdir private-geth
cd private-geth
初始化创世纪节点,并设置data目录:
geth --datadir ./data/00 init genesis.json
3,启动以太网节点私链
geth --datadir ./data/00 --networkid 123 console
注networkid如果为1,会链接公网节点
4,查看账户余额
getBalance()返回值的单位是wei,wei是以太币的最小单位,1个以太币=10的18次方个wei。要查看有多少个以太币,可以用web3.fromWei()将返回值换算成以太币:
5,打开remix,在Detail找到ugcoin的WEB3DEPLOY的文件
这是可以在geth直接部署的文件,直接复制到geth里面。
比如像这样
注这里需要先解锁:
6,开启挖矿,等待矿工完成交易。
交易已经提交到区块链,返回了交易的hash,但还未被处理,这可以通过查看txpool来验证:
txpool.status
{
pending: 0,
queued: 0
}
7,查看区块里面的交易信息,验证交易
8,查看调用ugcoin智能合约
可以查看到,说明部署成功
网友评论