Genesis JSON

이 페이지는 genesis.json의 세부 사항을 설명합니다.

Genesis JSON 파일 구조

genesis.json 파일 구조는 다음 표에 설명되어 있습니다.

Config

config 필드는 체인과 관련된 정보를 저장합니다.

extraData

extraData 필드는 제안자 베니티와 RLP-인코딩된 이스탄불 추가 데이터의 통합입니다:

  • 제안자 베니티는 임의의 제안자 베니티 데이터를 포함하는 32바이트 데이터입니다.

  • 나머지 데이터는 다음을 포함하는 RLP-인코딩된 이스탄불 추가 데이터입니다:

    • 검증자: 오름차순의 검증자 리스트.

    • 씰: 헤더의 제안자 서명. genesis.json의 경우, 65개의 0x0로 초기화된 바이트 배열입니다.

    • 커밋된 씰: 합의 증명으로서의 커밋 서명 씰의 리스트. genesis.json의 경우, 빈 배열입니다.

Example

위의 데이터에서 extraData는 다음으로부터 생성됩니다

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

여기서 concat은 문자열 연결 함수, RLPEncode는 주어진 구조체를 RLP-인코딩된 문자열로 변환하는 함수입니다.

이 함수로부터 예제의 출력 extraData는 0x0000000000000000000000000000000000000000000000000000000000000000f86fea9448009b4e20ec72aadf306577cbe2eaf54b0ebb1694089fcc42fd83baeee4831319375413b8bae3acebb8410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0입니다.

합의 엔진

클레이튼 네트워크에 사용 가능한 합의 엔진은 Clique와 Istanbul입니다. 각 엔진의 설명은 다음과 같습니다.

Clique

clique 필드는 Proof-Of-Authority(POA) 기반 씰링을 위한 환경설정을 저장합니다.

Istanbul

istanbul 필드는 이스탄불 기반 씰링을 위한 환경설정을 저장합니다.

Governance

governance 필드는 네트워크를 위한 거버넌스 정보를 저장합니다.

Reward

reward 필드는 네트워크의 토큰 이코노미에 대한 정보를 저장합니다.

Example

{
    "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