假设你使用的ubuntu, 那么用如下方式安装go ethereum:php
sudo apt-get install software-properties-common sudo add-apt-repository -y ppa:ethereum/ethereum sudo apt-get update sudo apt-get install ethereum
{ "config": { "chainId": 33, "homesteadBlock": 0, "eip155Block": 0, "eip158Block": 0 }, "nonce": "0x0000000000000033", "timestamp": "0x0", "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000", "gasLimit": "0x8000000", "difficulty": "0x100", "mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000", "coinbase": "0x3333333333333333333333333333333333333333", "alloc": {} }
建立创世区块git
mkdir mycoin geth --datadir mycoin init genesis.json
链接私有网github
geth --datadir mycoin --networkid 20 --rpc --rpcaddr 0.0.0.0 --rpccorsdomain "*" --rpcapi db,net,web3,admin,debug,miner,eth,personal console
进入到控制台以后, 建立一个新用户, 密码设置为"password"web
personal.newAccount('password')
启动挖矿, 第一次挖矿准备时间比较长,时间长短取决于机器的性能shell
miner.start()
当你看到以下图信息时, 恭喜你,挖矿成功:json
挖了一会,就可使用如下命令中止了ubuntu
miner.stop()
查看用户余额api
eth.getBalance(eth.coinbase)
本课程并不探讨关于智能合约开发的话题. 智能合约可使用开源的,地址以下:网络
须要整理一下, 导入到 remix ide
.
导入成功后,进行编译。若是有黄色背景的警告,能够忽略。若是有红色背景的错误,能够更改智能合约版本从新编译,步骤为: "Settings->Solidity version", 在下拉列表选择另外一个版本,IDE就会自动从新编译。
编译成功后,根据如下图片所示步骤进行操做:
先选择"StandardToken"(这里是否是StandardToken取决于你的合约代码), 再点击Details. 复制WEB3DEPLOY
复制后,粘贴到文本编辑器,对一些变量进行赋值
var name = "China Test Coin"; /* 代币全称 */ var symbol = "CTC"; /* 代币简称 */ var decimals = 18; /* 默认精度 */ var totalSupply = 100000000; /* 发行代币总额 */ var _owner = "0x...."; /* 代币拥有者地址, 若是你使用上面开源的合约地址,没有此项请忽略 */ ...
编辑完成后,保存代码。
转到geth的控制台上,
解锁用户, 这一步是必须的
personal.unlockAccount(eth.coinbase)
布署合约
把上面保存的代码复制粘贴到控制台上,回车,若是成功则会显示合约地址, 这里的合约地址必定要保存起来, 后面会用到. 若是失败,通常调整gas大小,再发布就能够了.
合约布署后,交易尚未写到区块上,启动挖矿,建立区块
miner.start()
当你看到transaction=
之类的信息, 表示交易已经写到区块上.
至此,私有链的搭建和智能合约的布署就完成了. 下一步咱们将使用php与ethereum客户端进行交互. 并学习如何调用合约中的方法.