以太坊私有链docker环境搭建&合约编写发布

dockerfile

搭建环境

git clone https://github.com/Capgemini-AIE/ethereum-docker
cd ethereum-docker
docker-compose -f docker-compose-standalone.yml up -d 
docker-compose up -d # 启动集群
docker-compose scale eth=3 # 设置三个节点
复制代码

挖矿

docker exec -it ethereumdocker_eth_1 geth attach ipc://root/.ethereum/devchain/geth.ipc # 进入Ethan console
miner.start()
复制代码

以太坊常用命令

  •   personal.newAccount():创建账户;
    复制代码
  •   personal.unlockAccount():解锁账户;
    复制代码
  •   eth.accounts:枚举系统中的账户;
    复制代码
  •   eth.getBalance():查看账户余额,返回值的单位是 Wei(Wei 是以太坊中最小货币面额单位,类似比特币中的聪,1 ether = 10^18 Wei);
    复制代码
  •   eth.blockNumber:列出区块总数;
    复制代码
  •   eth.getTransaction():获取交易;
    复制代码
  •   eth.getBlock():获取区块;
    复制代码
  •   miner.start():开始挖矿;
    复制代码
  •   miner.stop():停止挖矿;
    复制代码
  •   web3.fromWei():Wei 换算成以太币;
    复制代码
  •   web3.toWei():以太币换算成 Wei;
    复制代码
  •   txpool.status:交易池中的状态;
    复制代码
  •   admin.addPeer():连接到其他节点;
    复制代码

智能合约部署-remix

  • 浏览器打开 http://remix.ethereum.org/

  • 编写合约(key-value存储)

pragma solidity ^0.4.0;

contract Sample {
    mapping(string => string) private dict;
    
    function get(string key) constant public  returns (string value) {
        return dict[key];
    }
    
    function set(string key,string value) public {
        dict[key]= value;
    }
}
复制代码
  • 合约发布
    • 选择 web3 provider

- 解锁账号 web3.personal.unlockAccount("0x???", "") 第一个参数是账号,第二个参数是账号密钥 - 点击create

  • 合约操作

珠三角区块链研究开发QQ群:695790208

转载于:https://juejin.im/post/5a703d0151882535a554832b

你可能感兴趣的:(以太坊私有链docker环境搭建&合约编写发布)