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 提供支持
在本页
  • 程序下载
  • 配置环境
  • 启动服务
  • 查询服务
  • 产生200个区块
  • 获取钱包地址
  • 转账
  1. Bitcoin

私链搭建(Linux)

程序下载

https://bitcoin.org/en/download

配置环境

#解压
tar -zxf bitcoin-0.16.0-x86_64-linux-gnu.tar.gz

#创建连个文件夹1和2
cd bitcoin-0.16.0/bin
mkdir 1
mkdir 2

#下载默认配置文https://github.com/bitcoin/bitcoin/blob/master/contrib/debian/examples/bitcoin.conf
#分别修改对应内容,然后放到1、2文件夹下面
#修改以下内容
regtest=1
server=1
rpcuser=admin1
rpcpassword=123
rpcallowip=0.0.0.0/0
rpcport=8001
dnsseed=0
upnp=0
port=8000
#修改以下内容
regtest=1
connect=172.16.172.90:8000
listen=0
server=1
rpcuser=admin2
rpcpassword=123
rpcallowip=0.0.0.0/0
rpcport=9001
dnsseed=0
upnp=0
port=9000

启动服务

./bitcoind -daemon -datadir=1
./bitcoind -daemon -datadir=2

查询服务

./bitcoin-cli -datadir=1  getwalletinfo
{
  "walletname": "wallet.dat",
  "walletversion": 159900,
  "balance": 0.00000000,
  "unconfirmed_balance": 0.00000000,
  "immature_balance": 0.00000000,
  "txcount": 0,
  "keypoololdest": 1523884293,
  "keypoolsize": 1000,
  "keypoolsize_hd_internal": 1000,
  "paytxfee": 0.00000000,
  "hdmasterkeyid": "3667dcf4ebe66ee13f38ab76d1e87e32580d188c"
}

./bitcoin-cli -datadir=1  getnetworkinfo
{
  "version": 160000,
  "subversion": "/Satoshi:0.16.0/",
  "protocolversion": 70015,
  "localservices": "000000000000040d",
  "localrelay": true,
  "timeoffset": 0,
  "networkactive": true,
  "connections": 1,
  "networks": [
    {
      "name": "ipv4",
      "limited": false,
      "reachable": true,
      "proxy": "",
      "proxy_randomize_credentials": false
    },
    {
      "name": "ipv6",
      "limited": false,
      "reachable": true,
      "proxy": "",
      "proxy_randomize_credentials": false
    },
    {
      "name": "onion",
      "limited": true,
      "reachable": false,
      "proxy": "",
      "proxy_randomize_credentials": false
    }
  ],
  "relayfee": 0.00001000,
  "incrementalfee": 0.00001000,
  "localaddresses": [
  ],
  "warnings": ""
}

./bitcoin-cli -datadir=1  getblockchaininfo
{
  "chain": "regtest",
  "blocks": 0,
  "headers": 0,
  "bestblockhash": "0f9188f13cb7b2c71f2a335e3a4fc328bf5beb436012afca590b1a11466e2206",
  "difficulty": 4.656542373906925e-10,
  "mediantime": 1296688602,
  "verificationprogress": 1,
  "initialblockdownload": true,
  "chainwork": "0000000000000000000000000000000000000000000000000000000000000002",
  "size_on_disk": 293,
  "pruned": false,
  "softforks": [
    {
      "id": "bip34",
      "version": 2,
      "reject": {
        "status": false
      }
    },
    {
      "id": "bip66",
      "version": 3,
      "reject": {
        "status": false
      }
    },
    {
      "id": "bip65",
      "version": 4,
      "reject": {
        "status": false
      }
    }
  ],
  "bip9_softforks": {
    "csv": {
      "status": "defined",
      "startTime": 0,
      "timeout": 9223372036854775807,
      "since": 0
    },
    "segwit": {
      "status": "active",
      "startTime": -1,
      "timeout": 9223372036854775807,
      "since": 0
    }
  },
  "warnings": ""
}

./bitcoin-cli -datadir=2  getwalletinfo
{
  "walletname": "wallet.dat",
  "walletversion": 159900,
  "balance": 0.00000000,
  "unconfirmed_balance": 0.00000000,
  "immature_balance": 0.00000000,
  "txcount": 0,
  "keypoololdest": 1523884295,
  "keypoolsize": 1000,
  "keypoolsize_hd_internal": 1000,
  "paytxfee": 0.00000000,
  "hdmasterkeyid": "4e5293f045709dcf70fae832c60d9ffa5f1eedd3"
}

./bitcoin-cli -datadir=2  getnetworkinfo
{
  "version": 160000,
  "subversion": "/Satoshi:0.16.0/",
  "protocolversion": 70015,
  "localservices": "000000000000040d",
  "localrelay": true,
  "timeoffset": 0,
  "networkactive": true,
  "connections": 1,
  "networks": [
    {
      "name": "ipv4",
      "limited": false,
      "reachable": true,
      "proxy": "",
      "proxy_randomize_credentials": false
    },
    {
      "name": "ipv6",
      "limited": false,
      "reachable": true,
      "proxy": "",
      "proxy_randomize_credentials": false
    },
    {
      "name": "onion",
      "limited": true,
      "reachable": false,
      "proxy": "",
      "proxy_randomize_credentials": false
    }
  ],
  "relayfee": 0.00001000,
  "incrementalfee": 0.00001000,
  "localaddresses": [
  ],
  "warnings": ""
}

./bitcoin-cli -datadir=2  getblockchaininfo
{
  "chain": "regtest",
  "blocks": 0,
  "headers": 0,
  "bestblockhash": "0f9188f13cb7b2c71f2a335e3a4fc328bf5beb436012afca590b1a11466e2206",
  "difficulty": 4.656542373906925e-10,
  "mediantime": 1296688602,
  "verificationprogress": 1,
  "initialblockdownload": true,
  "chainwork": "0000000000000000000000000000000000000000000000000000000000000002",
  "size_on_disk": 293,
  "pruned": false,
  "softforks": [
    {
      "id": "bip34",
      "version": 2,
      "reject": {
        "status": false
      }
    },
    {
      "id": "bip66",
      "version": 3,
      "reject": {
        "status": false
      }
    },
    {
      "id": "bip65",
      "version": 4,
      "reject": {
        "status": false
      }
    }
  ],
  "bip9_softforks": {
    "csv": {
      "status": "defined",
      "startTime": 0,
      "timeout": 9223372036854775807,
      "since": 0
    },
    "segwit": {
      "status": "active",
      "startTime": -1,
      "timeout": 9223372036854775807,
      "since": 0
    }
  },
  "warnings": ""
}

产生200个区块

./bitcoin-cli -datadir=1 generate 200
[
  "10f2e86ef528fae6f21f57f3136e3d6b8c07c86a3c044376c613855d8a080dd8",
  "5621bbd0a9748a11998dc2c490b616331464ce61af3de7e7d45f6ecf4b0a5bc8",

]

#节点1里面有5000个币了
./bitcoin-cli --datadir=1 getwalletinfo
{
  "walletname": "wallet.dat",
  "walletversion": 159900,
  "balance": 5000.00000000,
  "unconfirmed_balance": 0.00000000,
  "immature_balance": 3725.00000000,
  "txcount": 200,
  "keypoololdest": 1523884293,
  "keypoolsize": 999,
  "keypoolsize_hd_internal": 1000,
  "paytxfee": 0.00000000,
  "hdmasterkeyid": "3667dcf4ebe66ee13f38ab76d1e87e32580d188c"

获取钱包地址

./bitcoin-cli --datadir=1 getaccountaddress ""
2NFZnKjdTEBnkT5LS74eucKVATP76xR3HvM

./bitcoin-cli --datadir=2 getaccountaddress ""
2MxcGwmqT73Nra6NM6S43RcZPPYbkBLdyCt

转账

#节点1向节点2转账10个币
./bitcoin-cli -datadir=1 sendtoaddress "2MxcGwmqT73Nra6NM6S43RcZPPYbkBLdyCt" 10
0f502f7ebbe1a043eba540adbf481b368a7a77708bae42489f590ac1bcffbaee

#节点1产生10个区块,确保交易完成
./bitcoin-cli -datadir=1 generate 10
[
  "7075d3c76160136b80d0347291b7264ed32d0874bee98ac4375b19ee152c29f1",
  "27d8745b7eca9e9a938a84a2221519743671f5ebc6a1bee56b11859832a4340a",
  "782c01957823ad873afd5a2074e76006734f3fb12266f162840b3e008af33025",
  "18b723bcd44be3c0bb822adffc0b042cfd7b5a908f7d81d8a1b610e58cb43a49",
  "150f3987aad99f1ce4114a0bfdcc9f2ec7e70c20daf91708c21869dae66d38e9",
  "5575fe86b535a6d965d334dba53165f73b701c6f28d763429d581e80800737a8",
  "33f6dd92dbad895398b01fff686a72ec1066d65c8d502fed43e7698dab631d92",
  "41ba97be18e22cc16a8f27086ab849fa5e6e8baaa33b0c9bb4ff73de1a5665be",
  "60b9cddc7255897398e8a3febf5418ef1a1184788cf7ef82f9fc9d1c929b90ae",
  "0a1870aab4ef206a9d270eb0c3fe46fe7dcc60f1a6d15b6a4e1f7e5c14d02250"
]

#节点2收到10个币
./bitcoin-cli --datadir=2 getwalletinfo
{
  "walletname": "wallet.dat",
  "walletversion": 159900,
  "balance": 10.00000000,
  "unconfirmed_balance": 0.00000000,
  "immature_balance": 0.00000000,
  "txcount": 0,
  "keypoololdest": 1523884295,
  "keypoolsize": 999,
  "keypoolsize_hd_internal": 1000,
  "paytxfee": 0.00000000,
  "hdmasterkeyid": "4e5293f045709dcf70fae832c60d9ffa5f1eedd3"
}

#节点2的区块同样为210个
./bitcoin-cli --datadir=2 getblockchaininfo
{
  "chain": "regtest",
  "blocks": 210,
  "headers": 210,
  "bestblockhash": "0a1870aab4ef206a9d270eb0c3fe46fe7dcc60f1a6d15b6a4e1f7e5c14d02250",
  "difficulty": 4.656542373906925e-10,
  "mediantime": 1523884432,
  "verificationprogress": 1,
  "initialblockdownload": false,
  "chainwork": "00000000000000000000000000000000000000000000000000000000000001a6",
  "size_on_disk": 66105,
  "pruned": false,
  "softforks": [
    {
      "id": "bip34",
      "version": 2,
      "reject": {
        "status": false
      }
    },
    {
      "id": "bip66",
      "version": 3,
      "reject": {
        "status": false
      }
    },
    {
      "id": "bip65",
      "version": 4,
      "reject": {
        "status": false
      }
    }
  ],
  "bip9_softforks": {
    "csv": {
      "status": "started",
      "bit": 0,
      "startTime": 0,
      "timeout": 9223372036854775807,
      "since": 144,
      "statistics": {
        "period": 144,
        "threshold": 108,
        "elapsed": 67,
        "count": 67,
        "possible": true
      }
    },
    "segwit": {
      "status": "active",
      "startTime": -1,
      "timeout": 9223372036854775807,
      "since": 0
    }
  },
  "warnings": ""
}
上一页编译(Ubuntu)下一页私链搭建(Docker)

最后更新于7年前