美文网首页
polygon-edge搭建私有网络

polygon-edge搭建私有网络

作者: 张亚伦 | 来源:发表于2023-05-25 17:11 被阅读0次

    搭建私有网络

    编译节点程序

    git clone git@github.com:zhangxueliang1218/polygon-edge.git
    cd polygon-edge/
    make build 
    # 或者
    go build  -o polygon-edge main.go
    # 注意:需要使用go1.17版本,否则编译时会出错。 例如:go1.17.11.linux-amd64.tar.gz
    

    版本信息如下:

    [root@VM-24-3-centos polygon-edge]# ./polygon-edge version
    
    [VERSION INFO]
    Release version = v0.5.1
    Git branch      = release/0.5.1
    Commit hash     = e17a9495d2aab73628336bd81224e0e3d05e480e
    Build time      = Fri May 26 15:45:26 CST 2023
    [root@VM-24-3-centos polygon-edge]# 
    

    初始化节点信息

    [root@VM-24-3-centos polygon-edge]# ./polygon-edge secrets init --data-dir ./node1
    
    [SECRETS INIT]
    Public key (address) = 0xDD90a9c0231cA026eE5567D51547F99f227b6c78
    BLS Public key       = 0xa37abc993680813cdcfd5ebe3bc3f1563db1352a8405710c7cab0844774617608418b846806518d976d4e055c255b819
    Node ID              = 16Uiu2HAmS3sXA3URD8J37dpCrfWJwMJHZ6btVG6v589YxxSchrMp
    
    [root@VM-24-3-centos polygon-edge]# ./polygon-edge secrets init --data-dir ./node2
    
    [SECRETS INIT]
    Public key (address) = 0x6ac314AbEf58c5B3C813AB233d2197E5919Bd298
    BLS Public key       = 0x908595e68db799946eb6b69d55a0b3f3132beedd81b79ac89de913c03e31a73e2de863d634227a25e4488cc1363553c4
    Node ID              = 16Uiu2HAm1YtRQqGaJU7vss2ZWtzg2KCwv44VG3NYYBNjVgURERK4
    
    [root@VM-24-3-centos polygon-edge]# ./polygon-edge secrets init --data-dir ./node3
    
    [SECRETS INIT]
    Public key (address) = 0xB7E6a7d9CBF3a4Dc0C6723723A9fB0dEEAbaE95C
    BLS Public key       = 0x919a5e92ae0c2c6ab345701cfaf484194fd6375a3fb220283e321bdfcd249e71b6f5009647718c0b54d9907c367f4282
    Node ID              = 16Uiu2HAm1nPwYsMYxCZ3Pq7MV5sVCHuEvfpdNwhjXHth1YK2u2Ld
    
    [root@VM-24-3-centos polygon-edge]# ./polygon-edge secrets init --data-dir ./node4
    
    [SECRETS INIT]
    Public key (address) = 0xF1D69F3b0B1373D657DEf6337e45806bC455532d
    BLS Public key       = 0x89268e18c2e00e994663ee0d922643c7235d9cd2607f1cf215dc3d02f6af11b40c6408639628e75bf36127949fed8ad9
    Node ID              = 16Uiu2HAmLNu237JPFX8Xo8xUzZ4pk5nup6BLTop4UhrECWb5SoZi
    
    [root@VM-24-3-centos polygon-edge]# 
    

    目录结构如下:

    [root@VM-24-3-centos polygon-edge]# tree 
    .
    ├── node1
    │   ├── consensus
    │   │   ├── validator-bls.key
    │   │   └── validator.key
    │   └── libp2p
    │       └── libp2p.key
    ├── node2
    │   ├── consensus
    │   │   ├── validator-bls.key
    │   │   └── validator.key
    │   └── libp2p
    │       └── libp2p.key
    ├── node3
    │   ├── consensus
    │   │   ├── validator-bls.key
    │   │   └── validator.key
    │   └── libp2p
    │       └── libp2p.key
    ├── node4
    │   ├── consensus
    │   │   ├── validator-bls.key
    │   │   └── validator.key
    │   └── libp2p
    │       └── libp2p.key
    └── polygon-edge
    
    12 directories, 13 files
    

    生成创世文件

    注:采用ibft共识

    ./polygon-edge genesis --consensus ibft --chain-id 1218 --ibft-validators-prefix-path node --bootnode /ip4/127.0.0.1/tcp/10001/p2p/16Uiu2HAmS3sXA3URD8J37dpCrfWJwMJHZ6btVG6v589YxxSchrMp --bootnode /ip4/127.0.0.1/tcp/20001/p2p/16Uiu2HAm1YtRQqGaJU7vss2ZWtzg2KCwv44VG3NYYBNjVgURERK4 --bootnode /ip4/127.0.0.1/tcp/30001/p2p/16Uiu2HAm1nPwYsMYxCZ3Pq7MV5sVCHuEvfpdNwhjXHth1YK2u2Ld --bootnode /ip4/127.0.0.1/tcp/40001/p2p/16Uiu2HAmLNu237JPFX8Xo8xUzZ4pk5nup6BLTop4UhrECWb5SoZi --premine 0xBC1F42383f9567B43C219200D83C71CF144C1146:6666666666666000000000000000000
    

    示例如下:

    [root@VM-24-3-centos polygon-edge]# ./polygon-edge genesis --consensus ibft --chain-id 1218 --ibft-validators-prefix-path node --bootnode /ip4/127.0.0.1/tcp/10001/p2p/16Uiu2HAmS3sXA3URD8J37dpCrfWJwMJHZ6btVG6v589YxxSchrMp --bootnode /ip4/127.0.0.1/tcp/20001/p2p/16Uiu2HAm1YtRQqGaJU7vss2ZWtzg2KCwv44VG3NYYBNjVgURERK4 --bootnode /ip4/127.0.0.1/tcp/30001/p2p/16Uiu2HAm1nPwYsMYxCZ3Pq7MV5sVCHuEvfpdNwhjXHth1YK2u2Ld --bootnode /ip4/127.0.0.1/tcp/40001/p2p/16Uiu2HAmLNu237JPFX8Xo8xUzZ4pk5nup6BLTop4UhrECWb5SoZi --premine 0xBC1F42383f9567B43C219200D83C71CF144C1146:6666666666666000000000000000000
    
    [GENESIS SUCCESS]
    Genesis written to ./genesis.json
    
    [root@VM-24-3-centos polygon-edge]# cat genesis.json 
    {
        "name": "polygon-edge",
        "genesis": {
            "nonce": "0x0000000000000000",
            "timestamp": "0x0",
            "extraData": "0x0000000000000000000000000000000000000000000000000000000000000000f90127f90120f84694dd90a9c0231ca026ee5567d51547f99f227b6c78b0a37abc993680813cdcfd5ebe3bc3f1563db1352a8405710c7cab0844774617608418b846806518d976d4e055c255b819f846946ac314abef58c5b3c813ab233d2197e5919bd298b0908595e68db799946eb6b69d55a0b3f3132beedd81b79ac89de913c03e31a73e2de863d634227a25e4488cc1363553c4f84694b7e6a7d9cbf3a4dc0c6723723a9fb0deeabae95cb0919a5e92ae0c2c6ab345701cfaf484194fd6375a3fb220283e321bdfcd249e71b6f5009647718c0b54d9907c367f4282f84694f1d69f3b0b1373d657def6337e45806bc455532db089268e18c2e00e994663ee0d922643c7235d9cd2607f1cf215dc3d02f6af11b40c6408639628e75bf36127949fed8ad980c28080",
            "gasLimit": "0x500000",
            "difficulty": "0x1",
            "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
            "coinbase": "0x0000000000000000000000000000000000000000",
            "alloc": {
                "0xBC1F42383f9567B43C219200D83C71CF144C1146": {
                    "balance": "0x5425296ac1cc75b84c90680000"
                }
            },
            "number": "0x0",
            "gasUsed": "0x70000",
            "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        "params": {
            "forks": {
                "homestead": 0,
                "byzantium": 0,
                "constantinople": 0,
                "petersburg": 0,
                "istanbul": 0,
                "EIP150": 0,
                "EIP158": 0,
                "EIP155": 0
            },
            "chainID": 1218,
            "engine": {
                "ibft": {
                    "epochSize": 100000,
                    "type": "PoA",
                    "validator_type": "bls"
                }
            },
            "blockGasTarget": 0
        },
        "bootnodes": [
            "/ip4/127.0.0.1/tcp/10001/p2p/16Uiu2HAmS3sXA3URD8J37dpCrfWJwMJHZ6btVG6v589YxxSchrMp",
            "/ip4/127.0.0.1/tcp/20001/p2p/16Uiu2HAm1YtRQqGaJU7vss2ZWtzg2KCwv44VG3NYYBNjVgURERK4",
            "/ip4/127.0.0.1/tcp/30001/p2p/16Uiu2HAm1nPwYsMYxCZ3Pq7MV5sVCHuEvfpdNwhjXHth1YK2u2Ld",
            "/ip4/127.0.0.1/tcp/40001/p2p/16Uiu2HAmLNu237JPFX8Xo8xUzZ4pk5nup6BLTop4UhrECWb5SoZi"
        ]
    }[root@VM-24-3-centos polygon-edge]# 
    

    启动节点

    node1

    ./polygon-edge server --data-dir ./node1 --chain ./genesis.json --grpc 0.0.0.0:10000 --libp2p 0.0.0.0:10001 --jsonrpc 0.0.0.0:10002 --seal
    

    node2

    ./polygon-edge server --data-dir ./node2 --chain ./genesis.json --grpc 0.0.0.0:20000 --libp2p 0.0.0.0:20001 --jsonrpc 0.0.0.0:20002 --seal
    

    node3

    ./polygon-edge server --data-dir ./node3 --chain ./genesis.json --grpc 0.0.0.0:30000 --libp2p 0.0.0.0:30001 --jsonrpc 0.0.0.0:30002 --seal
    

    node4

    ./polygon-edge server --data-dir ./node4 --chain ./genesis.json --grpc 0.0.0.0:40000 --libp2p 0.0.0.0:40001 --jsonrpc 0.0.0.0:40002 --seal
    

    获取区块高度

    [root@VM-24-3-centos polygon-edge]# curl -X POST -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":["latest", true],"id":1}' http://127.0.0.1:10002
    {"jsonrpc":"2.0","id":1,"result":"0x2e"}
    
    curl -H "Content-Type: application/json" -X POST --data '{"jsonrpc":"2.0","method":"eth_getBalance","params":["0xBC1F42383f9567B43C219200D83C71CF144C1146", "latest"],"id":1}' http://127.0.0.1:10002
    

    合约调用

    curl -X POST -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_call","params":[{"from":"0xBC1F42383f9567B43C219200D83C71CF144C1146","to":"0x7c4063D66506051117d00B0c62b8d8343364CF68","data":"0x2e64cec1"}],"id":1}' http://127.0.0.1:20002
    

    引用资料:https://learnblockchain.cn/article/3974

    相关文章

      网友评论

          本文标题:polygon-edge搭建私有网络

          本文链接:https://www.haomeiwen.com/subject/jkuhedtx.html