- 第 1 章 区块链
- 第 2 章 以太坊
- 第 3 章 以太坊私链入门
- 第 4 章 以太坊网络
- 第 5 章 geth v1.8.16 命令详解
- 第 6 章 Wallet
- 第 7 章 Token
- 第 8 章 智能合约语言 Solidity v0.5.0
- 第 9 章 Truffle v4.1.8 开发框架
- 第 10 章 web3.js - 1.0.0
- 第 11 章 web3j v3.4.0 - Jave Client
- 11.2. 启动以太坊
- 11.3. Maven pom.xml 文件
- 11.4. Java 与 Solidity 数据类型映射关系
- 11.5. 常量
- 11.6. 连接到服务器获取版本号
- 11.7. 获得以太坊状态信息
- 11.8. 单位转换
- 11.9. 账号管理
- 11.10. Credentials
- 11.11. 交易
- 11.12. 钱包
- 11.13. 智能合约
- 11.14. ERC20合约
- 11.15. Infura
- 11.16. 助记词
- 11.17. 过滤器 (Filter)
- 11.18. Subscription
- 11.19. 解锁账号
- 11.20. IBAN (International Bank Account Number)
- 11.21. Springboot with Ethereum (web3j)
- 第 12 章 web3.py - A python interface for interacting with the Ethereum blockchain and ecosystem.
- 第 14 章 Ethereum Developer APIs
- 第 15 章 infura
- 第 16 章 以太坊案例
- 第 17 章 FAQ
- 17.3. Error: authentication needed: password or unlock
- 17.4. 新增节点后不生效
- 17.5. Unhandled rejection Error: Returned error: The method personal_unlockAccount does not exist/is not available
- 17.6. Error: exceeds block gas limit
- 17.7. Migrations.sol:11:3: Warning: Defining constructors as functions with the same name as the contract is deprecated. Use "constructor(…) { … }" instead.
- 17.8. Exception in thread "main" rx.exceptions.OnErrorNotImplementedException: Invalid response received: okhttp3.internal.http.RealResponseBody@6c25e6c4
- 17.9. 旧版本 Remix(browser-solidity) 本地安装
- 第 18 章 Hyperledger Fabric v2.0.0
- 第 19 章 Hyperledger Fabric 运维
- 第 20 章 Chaincode 链码(智能合约)
- 第 21 章 Hyperledger Fabric Client SDK for Node.js
- 第 22 章 fabric-sdk-java
- 第 24 章 已知 Hyperledger 落地案例
- 第 25 章 Fabric Command
- 第 26 章 Fabric FAQ
- 第 27 章 IPFS(InterPlanetary File System,星际文件系统)
- 第 28 章 IPFS 命令
- 第 29 章 IPFS WebUI
- 第 30 章 IPFS 集群配置
- 第 31 章 IPFS API
- 第 32 章 IPFS Faq
- 第 33 章 EOS
- 第 34 章 EOS 安装
- 第 35 章 CLEOS
- 第 36 章 智能合约开发
- 第 37 章 EOS Dapp 开发
- 第 38 章 FAQ
- 第 39 章 BaaS (Blockchain as a Service) 平台
- 第 40 章 BitCoin
- 第 41 章 其他区块链相关
- 附录 1. 附录
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
第 3 章 以太坊私链入门
3.1. 软件安装与配置
3.1.1. Ubuntu
3.1.1.1. 安装 geth
安装环境
Ubuntu 17.10
sudo apt upgrade -y sudo apt install software-properties-common sudo add-apt-repository -y ppa:ethereum/ethereum sudo apt update sudo apt install ethereum
neo@netkiller ~ % geth version Geth Version: 1.8.10-stable Git Commit: 4bb3c89d44e372e6a9ab85a8be0c9345265c763a Architecture: amd64 Protocol Versions: [63 62] Network Id: 1 Go Version: go1.9.5 Operating System: linux GOPATH= GOROOT=/usr/lib/go-1.9
3.1.1.2. 安装 solc
sudo apt install solc -y
neo@netkiller ~ % solc --version solc, the solidity compiler commandline interface Version: 0.4.19+commit.c4cbbb05.Linux.g++
3.1.1.3. Node.js
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash - sudo apt-get install -y nodejs
3.1.2. CentOS 7
yum update -y yum install git wget bzip2 -y yum install golang -y cd /usr/local/src git clone https://github.com/ethereum/go-ethereum.git cd go-ethereum/ gmake all mv build /srv/go-ethereum echo "export PATH=$PATH:$PWD/build/bin" >> /etc/profile source /etc/profile
上面安装版本是 unstable 版本,如果是生产环境请使用 Release 版本 https://github.com/ethereum/go-ethereum/tags
wget https://github.com/ethereum/go-ethereum/archive/v1.8.10.tar.gz tar zxvf v1.8.10.tar.gz cd go-ethereum-1.8.10/ gmake all mv build /srv/go-ethereum-1.8.10
3.1.3. Windows
访问 https://geth.ethereum.org/downloads/ 下载并安装 Geth for Windows
3.1.4. Mac OS
brew update brew upgrade brew tap ethereum/ethereum brew install ethereum brew install solidity
3.1.4.1. 安装 Node
brew install node brew install npm npm config set registry https://registry.npm.taobao.org
3.1.4.2. Ethereum Wallet
下载安装以太坊钱包(大陆网络可能下载有问题,需要翻墙)
https://github.com/ethereum/mist/releases/download/v0.9.3/Ethereum-Wallet-macosx-0-9-3.dmg3.1.5. 编译安装
git clone https://github.com/ethereum/go-ethereum sudo apt-get install -y build-essential golang cd go-ethereum make geth
3.1.6. Netkiller OSCM 一键安装
Netkiller OSCM 是由 Netkiller 制作的一套自动化安装脚本。
适用于 CentOS 7
3.1.6.1. 1.8.10
curl -s https://raw.githubusercontent.com/oscm/shell/master/blockchain/ethereum/centos/go-ethereum-1.8.10.sh | bash
安装完成后使用下面命令进入控制台
[root@localhost ~]# su - ethereum Last login: Sat Feb 3 00:23:52 EST 2018 on pts/0 [ethereum@localhost ~]$ geth attach Welcome to the Geth JavaScript console! instance: Geth/v1.8.10-stable/linux-amd64/go1.8.10 modules: admin:1.0 debug:1.0 eth:1.0 miner:1.0 net:1.0 personal:1.0 rpc:1.0 txpool:1.0 web3:1.0 >
3.1.6.2. 1.8.1
curl -s https://raw.githubusercontent.com/oscm/shell/master/blockchain/ethereum/centos/go-ethereum-1.8.1.sh | bash
3.1.6.3. 1.8.10
curl -s https://raw.githubusercontent.com/oscm/shell/master/lang/gcc/gcc.sh | bash curl -s https://raw.githubusercontent.com/oscm/shell/master/lang/golang/golang-1.10.2.sh | bash curl -s https://raw.githubusercontent.com/oscm/shell/master/blockchain/ethereum/centos/go-ethereum-1.8.10.sh | bash curl -s https://raw.githubusercontent.com/oscm/shell/master/blockchain/ethereum/systemd/private.sh | bash curl -s https://raw.githubusercontent.com/oscm/shell/master/lang/node.js/binrary/node-v10.1.0.sh | bash curl -s https://raw.githubusercontent.com/oscm/shell/master/lang/node.js/binrary/profile.d.sh | bash curl -s https://raw.githubusercontent.com/oscm/shell/master/blockchain/ethereum/truffle/truffle.sh | bash
3.1.7. 防止 geth 异常退出
在同步主网的过程中,我们发现经常出现geth崩溃退出,为了防止异常退出,我们写了这个脚本。
[ethereum@netkiller ~]$ cat run.sh #!/bin/bash for (( ; ; )) do #geth --syncmode light --cache 2048 --maxpeers 200 # geth --syncmode light --cache 2048 --maxpeers 200 --rpc --rpcaddr 0.0.0.0 --rpcport 7545 --rpcapi web3,admin,eth,personal --port 30303 2> /tmp/geth.log geth --datadir private --networkid 44444 --port 30302 --mine --rpc #geth --testnet --syncmode light --cache 2048 --maxpeers 200 --rpc 2> /tmp/geth.log sleep 10 done &
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论