neo blockchain book
  • NEOHOPE's Blockchain Book
  • 概述
    • 本书内容
    • 读者定位
    • 本书约定
    • 项目对比
    • 名词释义
  • 基本原理
    • 区块链
    • 智能合约
    • 交易所
    • 系统架构
  • 基础算法
    • 默克尔树
    • Bloom过滤器
    • 公钥私钥及椭圆曲线
  • 共识算法
    • 分布式系统
    • Paxos与Raft算法
    • 拜占庭容错算法
  • Bitcoin
    • 整体架构
    • 状态转换
    • 区块确认
    • 分叉处理
    • P2P
    • 脚本
    • 钱包
    • 使用
    • 编译(Ubuntu)
    • 私链搭建(Linux)
    • 私链搭建(Docker)
  • Ethereum
    • 整体架构
    • 状态转换
    • 区块确认
    • 使用
    • Remix IDE环境搭建(Ubuntu16)
    • 智能合约编写01
    • 智能合约编写02
    • 智能合约编写03
    • 智能合约编写04
    • 编译(MacOS)
    • 私链搭建
  • EOS
    • 整体架构
    • 使用
    • 智能合约使用(单机单节点单钱包)
    • 智能合约使用(单机单节点多钱包)
    • 编写简单的智能合约
    • 编写有数据存储的智能合约
    • 编译(Linux)
    • 私链搭建(单机多节点)
    • 私链搭建(多机多节点)
  • Fabric
    • 整体架构
    • 身份管理
    • 共识达成
    • 使用
    • 智能合约介绍
    • 智能合约使用01
    • 智能合约使用02
    • 编译(MacOS)
    • 私链搭建(Ubuntu)
    • 在私链中添加一个机构
  • Cosmos
    • 整体架构
    • Zone与Hub
    • 使用
  • IPFS
    • 整体架构
    • 使用
    • 编译(MacOS)
    • 私链搭建
  • 然后呢?
由 GitBook 提供支持
在本页
  • 下载镜像并运行
  • 开启两个节点
  • 模拟挖矿
  • 转账10个比特币
  • 查看转账结果
  • 利用curl进行操作
  1. Bitcoin

私链搭建(Docker)

下载镜像并运行

#下载
docker pull freewil/bitcoin-testnet-box

#运行容器
sudo docker run --name mybitcoin --user=root -t -i -p 19001:19001
 -p 19011:19011 freewil/bitcoin-testnet-box

#查看日志
docker logs -f mybitcoin

开启两个节点

bitcoind -daemon -datadir=1

bitcoin-cli -datadir=1  getinfo
{
  "version": 130200,
  "protocolversion": 70015,
  "walletversion": 130000,
  "balance": 0.00000000,
  "blocks": 0,
  "timeoffset": 0,
  "connections": 1,
  "proxy": "",
  "difficulty": 4.656542373906925e-10,
  "testnet": false,
  "keypoololdest": 1520921618,
  "keypoolsize": 100,
  "paytxfee": 0.00000000,
  "relayfee": 0.00001000,
  "errors": ""
}

bitcoind -daemon -datadir=2
bitcoin-cli -datadir=2  getinfo
{
  "version": 130200,
  "protocolversion": 70015,
  "walletversion": 130000,
  "balance": 0.00000000,
  "blocks": 0,
  "timeoffset": 0,
  "connections": 1,
  "proxy": "",
  "difficulty": 4.656542373906925e-10,
  "testnet": false,
  "keypoololdest": 1520921618,
  "keypoolsize": 100,
  "paytxfee": 0.00000000,
  "relayfee": 0.00001000,
  "errors": ""
}

#根据balance可以看到,两方的比特币都是0

模拟挖矿

#产生200个区块
bitcoin-cli -datadir=1 generate 200
[
  "0df24dddfb187b55a08f0e4470e3b51a5994699da7456a4061050c29cf99670f",
  "788ea259946064cef2d5d2fa48fd3285868f4e64bd96daa2dc0b9207a22be3b3",
  "054e4e77e8e05cba985e5006bf4fe75b22759716dd586a1f541b892a278f49fa",
  ...
]

#查看信息
bitcoin-cli -datadir=1  getinfo
{
  "version": 130200,
  "protocolversion": 70015,
  "walletversion": 130000,
  "balance": 5000.00000000,
  "blocks": 200,
  "timeoffset": 0,
  "connections": 1,
  "proxy": "",
  "difficulty": 4.656542373906925e-10,
  "testnet": false,
  "keypoololdest": 1520921618,
  "keypoolsize": 100,
  "paytxfee": 0.00000000,
  "relayfee": 0.00001000,
  "errors": ""
}

#查看账户余额
bitcoin-cli --datadir=1 listaccounts
{
  "": 5000.00000000
}

#查看账户地址
bitcoin-cli --datadir=1 getaddressesbyaccount ""
[
  "mwfkSxRsPjAvxWhTh8dzKtWy7z8UiKMwzd"
]

#查看账户余额
bitcoin-cli --datadir=2 listaccounts
{
  "": 0.00000000
}

#查看账户地址
bitcoin-cli --datadir=2 getaddressesbyaccount ""
[
  "muwmDp87VSSoE7Sy4WryYtgQ8ZUbh7Lret"
]

转账10个比特币

#转账10个比特币
bitcoin-cli -datadir=1 sendtoaddress "muwmDp87VSSoE7Sy4WryYtgQ8ZUbh7Lret"" 10

#生成10个区块
bitcoin-cli -datadir=1 generate 10

查看转账结果

bitcoin-cli -datadir=2  getinfo
{
  "version": 130200,
  "protocolversion": 70015,
  "walletversion": 130000,
  "balance": 10.00000000,
  "blocks": 210,
  "timeoffset": 0,
  "connections": 1,
  "proxy": "",
  "difficulty": 4.656542373906925e-10,
  "testnet": false,
  "keypoololdest": 1520921618,
  "keypoolsize": 100,
  "paytxfee": 0.00000000,
  "relayfee": 0.00001000,
  "errors": ""
}

利用curl进行操作

#用curl发起getinfo请求
curl --data-binary '{"jsonrpc":"1.0","id":"curltext","method":"getinfo","params":[]}' -H 'content-type:text/plain;' http://admin1:123@127.0.0.1:19000/

#查看结果
{
"result":{
"version":130200,
"protocolversion":70015,
"walletversion":130000,
"balance":5979.99991660,
"blocks":220,"timeoffset":0,
"connections":1,
"proxy":"",
"difficulty":4.656542373906925e-10,
"testnet":false,
"keypoololdest":1520926587,
"keypoolsize":100,
"paytxfee":0.00000000,
"relayfee":0.00001000,
"errors":""
},
"error":null,
"id":"curltext"
}
上一页私链搭建(Linux)下一页Ethereum

最后更新于7年前