Genesis JSON

Trang này mô tả chi tiết tập tin genesis.json.

Cấu trúc tập tin Genesis JSON

Cấu trúc tập tin genesis.json được mô tả trong bảng dưới đây.

Config

Trường config lưu trữ thông tin liên quan đến chuỗi.

extraData

Trường extraData là sự kết hợp giữa vanity người đề xuất và dữ liệu bổ sung istanbul mã hóa RLP:

  • Vanity người đề xuất là dữ liệu 32 byte chứa dữ liệu vanity người đề xuất tùy ý.

  • Phần còn lại của dữ liệu là dữ liệu bổ sung istanbul mã hóa RLP có chứa:

    • Nút xác thực: danh sách các nút xác thực theo thứ tự tăng dần.

    • Con dấu: chữ ký của người đề xuất tiêu đề. Về genesis.json, đó là một mảng byte được khởi tạo với 65 0x0.

    • CommittedSeal: danh sách các con dấu chữ ký cam kết chứng tỏ sự đồng thuận. Đối với genesis.json, đó là một mảng trống.

Ví dụ

extraData với dữ liệu trên được tạo bởi

concat('0x',Vanity,RLPEncode({Validators,Seal,CommittedSeal}))

khi concat là hàm ghép chuỗi và RLPEncode là một hàm để chuyển đổi một cấu trúc đã cho thành chuỗi mã hóa RLP.

Với hàm này, kết quả đầu ra extraData cho ví dụ này là 0x0000000000000000000000000000000000000000000000000000000000000000f86fea9448009b4e20ec72aadf306577cbe2eaf54b0ebb1694089fcc42fd83baeee4831319375413b8bae3acebb8410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0.

Công cụ đồng thuận

Các công cụ đồng thuận dành cho mạng lưới Klaytn là Clique và Istanbul. Mỗi công cụ được giải thích như sau.

Clique

Trường clique lưu trữ cấu hình cho niêm phong dựa trên Bằng chứng ủy quyền (POA).

Istanbul

Trường istanbul lưu trữ cấu hình cho niêm phong dựa trên Istanbul.

Quản trị

Trường governance lưu trữ thông tin quản trị cho một mạng lưới.

Phần thưởng

Trường reward lưu trữ thông tin về nền kinh tế token của mạng lưới.

Ví dụ

{
    "config": {
        "chainId": 2019,
        "istanbulCompatibleBlock": 0,
        "istanbul": {
            "epoch": 604800,
            "policy": 2,
            "sub": 13
        },
        "unitPrice": 25000000000,
        "deriveShaImpl": 2,
        "governance": {
            "governingNode": "0x46b0bd6380005952759f605d02a6365552c776f3",
            "governanceMode": "single",
            "reward": {
                "mintingAmount": 6400000000000000000,
                "ratio": "50/40/10",
                "useGiniCoeff": true,
                "deferredTxFee": true,
                "stakingUpdateInterval": 86400,
                "proposerUpdateInterval": 3600,
                "minimumStake": 5000000
            }
        }
    },
    "nonce": "0x0",
    "timestamp": "0x5c9af60e",
    "extraData": "0x0000000000000000000000000000000000000000000000000000000000000000f89af85494aeae0ab623d4118ac62a2decc386949b5ce67ce29446b0bd6380005952759f605d02a6365552c776f394699b607851c878e29499672f42a769b71f74be8e94e67598eb5831164574c876994d53f63eab4f36d7b8410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0",
    "gasLimit": "0xe8d4a50fff",
    "difficulty": "0x1",
    "mixHash": "0x63746963616c2062797a616e74696e65206661756c7420746f6c6572616e6365",
    "coinbase": "0x0000000000000000000000000000000000000000",
    "alloc": {
        "0000000000000000000000000000000000000400": {
            "code": "0x6080604052600436106101505763ffffffff60e00a165627a7a7230582093756fe617053766b158f7c64998c746eb38f0d5431cc50231cc9fb2cd1fd9950029",
            "balance": "0x0"
        },
        "46b0bd6380005952759f605d02a6365552c776f3": {
            "balance": "0x446c3b15f9926687d2c40534fdb564000000000000"
        },
        "699b607851c878e29499672f42a769b71f74be8e": {
            "balance": "0x446c3b15f9926687d2c40534fdb564000000000000"
        },
        "aeae0ab623d4118ac62a2decc386949b5ce67ce2": {
            "balance": "0x446c3b15f9926687d2c40534fdb564000000000000"
        },
        "e67598eb5831164574c876994d53f63eab4f36d7": {
            "balance": "0x446c3b15f9926687d2c40534fdb564000000000000"
        }
    },
    "number": "0x0",
    "gasUsed": "0x0",
    "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000"
}

Last updated