在阅读<区块链技术指南>一书中,按照教程操作遇到些障碍,从网上学习一些其它一些区块链教程中也出现一些问题,现归纳如下
有点乱
1 bitcoin-testnet-box配置
要用ubuntu16.04的系统,更新一下yum,直接从官方下载docker,然后用daocloud的加速器地址再下载
2 geth.ipc进程通信接口
geth attach \\.\pipe\geth.ipc
3 trufflemodule未定义解决方案
把truffle.js删除,只需保留truffle-config.js文件
4 web3provider启动testnet连接IPC接口
geth --networkid 123456 --rpc --rpcaddr="0.0.0.0" --rpccorsdomain "*" --nodiscover
geth --identity "PICCetherum" --rpc --rpccorsdomain "*" --datadir "%cd%\chain" --networkid 123456 console
geth --datadir "./" \\.\pipe\geth.ipc
geth --datadir "./" --networkid 123456 --rpc --rpcaddr="0.0.0.0" --rpccorsdomain "*"(最终版)之后用geth attach连接到testnet呼出控制台,geth account new创建新帐户,把C盘keystore文件夹下
的账户文件复制到你想移动到的另外的keystore文件夹下,之后可以显示该账户信息
geth -rpc -rpcport "8078" –rpccorsdomain ‘*’ --datadir="H:\区块链\chain" -port 30309 -nodiscover -rpcapi'db,eth,net,web3,debug' -networkid 1006 console
复制编译好的web3deploy代码到控制台,需要miner.start()才会被正式写入合约.
mist
rating.setRating.sendTransaction(1,3,{from:eth.accounts[0]})
rating.setRating.sendTransaction(1,5,{from:eth.accounts[0]})
写入交易到合约时需要miner.start(),指令矿工挖矿.之后数组数据才会更改并输入对应数组的一个对应元素就显示.
5 webpack-dev-server配置出错
把文件夹例如browser-solidity下的package.json的"startDev":改成"webpack-dev-server --no-inline"或其它参数
6 本地部署remix
基本的安装步骤:
git clone https://github.com/ethereum/browser-solidity
cd browser-solidity
npm install
npm run prepublish//这步可以跳过
期间需要安装web3pack-dev-server,web3pack,web3back-cli等
启动命令:
npm start
7 不能连上web3provider的问题
不能用https协议,要用http协议,http://remix.ethereum.org/#optimize=false&version=soljson-v0.4.23+commit.124ca40d.js,用这个网址
解决can't resolve src error in module not found.需要完整安装webpack
https://blog.youkuaiyun.com/qq_39207948/article/details/79436644
npm install --save-dev webpack
npm install --save-dev webpack-cli
npm install --global webpack
npm install --global webpack-cli安装好4个模块
package.json中加入
"scripts":{
"dev":"webpack --mode development",
"build":"webpack --mode production"
},
webpack-dev-server 设置成--no-inline
8 下载go-ethereum的问题
sudo apt-get install ethereum 多试几次就好
看不懂或者还有其它疑问的留言,有其它合作的也可以.