区块链,随着bitcoin的出现已经风靡全球,不管你信不信,这种去中心化运营的创新方式正在全球掀起一场技术革命!
国泉能想象出那些站在风口上的人,猪都能被吹的飞起来,这也让我学到了什么是顺势而为。
--------------------------------------------------------分割线----------------------------------------------------------------------
回到工作,站在游戏的角度,数字资产上链token化,国泉能想到的好处有这么几点:
1、去中心化运营,游戏里的数字资产所有权真正归还于玩家,不再是开发商说了算,大大曾加了公信力。
2、多个游戏之间token可以相互流通,降低了资产流通的运营成本。
3、资产保值,token总量是固定的,后期无法增加或者减少,价格取决于用户的认可度。
概念如图
要基于区块链技术完成项目的落地,国泉知道的两种渠道:
1、基于bitcoin或者其他开源项目源代码,修改创世快,产币机制等,然后重新编译,这种方式的优点是只有人工成本,在时间宽裕的情况下也是最优选择。
2、基于ETH、EOS等平台,编写业务合约API代码,这种方式的优点是项目落地快,缺点是平台费用高,效率低,天下武功,唯快不破。
一、环境搭建
1、下载并安装geth客户端,选择geth完全是因为国泉需要在产品里调用API进行合约交互。
2、编写创世区块,保存至同一目录。
3、初始化创世快
./geth --datadir data --networkid 20181206 --rpc --rpccorsdomain "*" --rpcapi "admin,miner,db,eth,net,web3,personal" --nodiscover --port 8544 --rpcport 8545 init genesis.json
datadir//账户数据存放目录
networkid//网络id,1为主网络,2~6为测试公共网络,这里随意设置表示为私链。
rpcapi//客户端可提供的服务接口类型,后期会在API里频繁调用eth\miner\personal,根据需要设置
4、启动服务并打开一个控制台窗口,这样测试的时候可以在控制台里查看合约里的信息,国泉一般用nohup设置为守护进程运行。
./geth --datadir data2 --networkid 20181206 --rpc --rpccorsdomain "*" --rpcapi "admin,miner,db,eth,net,web3,personal" --nodiscover --port 8544 --rpcport 8545 console
下面的操作采用控制台+终端curl命令结合的方式操作,因为合约部署和账户操作控制台更方便,合约的调用由于要测试接口,所以新开一个终端用curl测试。
5、创建两个账户,密码为123
6、挖矿,获得币,默认到第一个账户,挖一会看见日志出block了就可以停,接着使用命令确认第一个账户有余额(有余额才能部署合约)。
miner.start()
miner.stop()
eth.getBalance(eth.accounts[0])
7、编写合约,可以从网上随意找一个模板,用eth在线编译器编译合约,复制ABI和ByteCode到本地
在线编译器https://remix.ethereum.org/如果没有梯子可能打不开,不行可以去下载源码安装到本地https://github.com/ethereum/remix
8、合并