如何分叉以太坊并变成自己的私链?帅初 写于 2016年2月11日
The core value proposition of Ethereum can be summarized with a single word: Synergy. 随着大家对区块链技术的深入了解,越来越多的企业和个人开发者认识到ethereum区块链平台的价值,由于ethereum平台开发语言是图灵完备的,也给区块链相关应用的开发带来了更多的可拓展性,特别是基于ethereum的智能合约平台,可以让开发者非常快速的部署自己的智能合约。 类似于R3CEV利用ethereum的区块链技术搭建一个银行间的区块链服务,未来定会有公司和个人希望站在ethereum的肩膀上,快速部署自己的区块链服务,同时还能使用ethereum生态系统内,无数开发者贡献的开源代码。 大大降低自己的部署成本。 本文会简单介绍如何分叉以太坊,并把它变成自己的私链。希望对行业的从业人员有些帮助。 第一部分:重命名(本文示例私链为: neochain)1-下载以太坊源码: download ethereum: https://github.com/ethereum/go-ethereum/tree/release/1.3.3 2- 重命名代码:rename folder to go-neochain 3- 重命名相关文件和文件夹 rename files and folders: - replace ethereum with neochain in files and folders filenames - replace eth with vch in files and folders filenames 4- replace occurences of ethereum in the code (using text replace software like grepWin): 重命名ethereum 代码中的所有ethereum字符,并替换成neochain,具体替换项目如下: - repalce github.com/ethereum/go-ethereum with github.com/neochain/go-neochain - repalce ethereum with neochain in all files - repalce ETHEREUM with NEOCHAIN in all files - repalce Ethereum with Neochain in all files - repalce ether with neochain in all files - repalce Ether with Neochain in all files - repalce eth with vch in all files - repalce ETH with VCH in all files 5- replace back nch_ with eth_ to restore api default functions calls 把eth_替换成nch_,用来存储调用的API 6- replace back mnchod with method 替换method 7- replace back Mnchod with Method 替换Method 8- replace back wvec with weth to restore the word wheter 替换weth 9- replace default rpc port (we’ll use port 7575): 修改RPC 端口,neochain 利用7575 端口 - in file go-neochain\cmd\utils\flags.go line 71 把以太坊默认端口8545修改成7575 replace: 替换 RPCPortFlag = cli.IntFlag{ Name: "rpcport", Usage: "HTTP-RPC server listening port", Value: 8545, } with: RPCPortFlag = cli.IntFlag{ Name: "rpcport", Usage: "HTTP-RPC server listening port", Value: 7575, } 在neochain_js.go 第4108行 也进行替换 - in file go-neochain\jsre\neochain_js.go line 4108 replace: 替换 var HttpProvider = function (host) { this.host = host || 'http://localhost:8545'; }; with: var HttpProvider = function (host) { this.host = host || 'http://localhost:7575'; }; 在admin_args.go 第130行也需要进行替换 - in file go-neochain\rpc\api\admin_args.go line 130 replace: args.ListenPort = 8545 with: args.ListenPort = 7575 在comms.go 127行也进行替换 in file go-neochain\rpc\comms\comms.go line 127 replace: if strings.HasPrefix(endpoint, "rpc:") { parts := strings.Split(endpoint, ":") addr := "http://localhost" port := uint(8545) if len(parts) >= 3 { addr = parts[1] + ":" + parts[2] } with: if strings.HasPrefix(endpoint, "rpc:") { parts := strings.Split(endpoint, ":") addr := "http://localhost" port := uint(7575) if len(parts) >= 3 { addr = parts[1] + ":" + parts[2] } 替换ethereum的p2p端口,在neochain 中,我们利用17575端口 10- replace default p2p port (we’ll use port 17575): - in file go-neochain\cmd\utils\flags.go line 315 replace: 替换 ListenPortFlag = cli.IntFlag{ Name: "port", Usage: "Network listening port", Value: 30303, } with: ListenPortFlag = cli.IntFlag{ Name: "port", Usage: "Network listening port", Value: 17575, } 替换ethereum的discovery port, 把30301端口替换成27575端口。neochain中我们利用 27575端口。 11- replace default discovery port (we’ll use port 27575): - in go-neochain\cmd\bootnode\main.go line 37 replace:替换 listenAddr = flag.String(“addr”, “:30301″, “listen address”) with: listenAddr = flag.String(“addr”, “:27575″, “listen address”)
第二部分: 修改原始代码:
1- 停止ethereum的种子节点 disable default seed nodes:
替换成:
2- 生成预挖的公钥和私钥对:create premine address keypair:
3- 创建创始区块 create the genesis block string:
- 第四 我们也可以修改nonce、初始难度、gas limit 等信息 因为neochain, 没有太多人参与,因为我们把难度设置成cpu可以挖矿。 - 第五 所有参数修改好后,我们就可以保存,然后运行,得到创始区块的信息。 用以下命令来产生创始区块: command: go run gengen.go - 第六 我们把运行结果复制到: go-neochain\core\default_genesis.go line 30
第七 – 修改区块奖励
第八 – 保存所有修改后,可以编译客户端 (编译客户端的说明详见:see ethereum docs) 第九- 把ethereum的hardnode和keys,替换成我们自己的hardnode和keys
第十- 最后再重新编译客户端,并发布各种版本的客户端。 网络就可以alive,可以参考ethereum的挖矿说明,包括如何搭建矿池,让矿工参与挖矿。 说明:本文仅适合做参考资料,由于时间匆忙,无法展开,可以在ethereum社区不断学习。 如果有任何疑问: [email protected] —- 文章来源:http://www.8btc.com/how-to-fork-ethereum 编译者/作者:帅初 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
如何分叉以太坊并变成私链?
2016-02-12 帅初 来源:巴比特
- 上一篇:比太公开课:隔离验证
- 下一篇:4分钟让你了解什么是比特币,谷歌推广比特币的视频
LOADING...
相关阅读:
- 分析师表示比特币,以太坊和XRP面临进一步下跌的风险–这里是需要关2020-08-04
- 加密市场达到创纪录的高水平– DeFi和以太坊推动了动力2020-08-04
- 驴把头社区详解Nerve节点+质押2020-08-03
- 老曹论币 ETH 8.3 晚间行情分析2020-08-03
- 青少年加密货币企业家可能是房间里的真正成年人2020-08-03