Skip to content

འོད་ཁམས།

ཨེབ་གོང་འདི་ འགོ་ཐོག་གི་ ལྕགས་ཀྱུའི་གནས་སྟངས་ལུ་འགྲེལ་བཤད་འབདཝ་ཨིན། བསྒྱུར་བཅོས་འབད་ཚུགས་པའི་འབྱུང་ཁུངས་འདི་ JSON ཌའི་ལོག་ཅིག་ཨིནམ་ད་ Iroha 3 མཚམས་སྦྱོར་འདི་གིས་ Norito ཌའི་ཡིག་སྣོད་ལག་ལེན་འཐབ་ཨིན།

སྔོན་སྒྲིག་གི་འབྱུང་ཁུངས།
json
{
  "chain": "00000000-0000-0000-0000-000000000000",
  "chain_discriminant": 753,
  "consensus_fingerprint": "0x65fdcf7c51004c91602cc8cec2b470ea96918fab2985a79044ae6ddf77416447",
  "consensus_mode": "Npos",
  "sumeragi_v2": {"da_layout":{"encoding":{"encoding":"reed_solomon16","details":null},"chunk_size_bytes":262144,"data_shards":4,"parity_shards":2,"max_payload_size_bytes":16777216,"max_chunk_count":1024},"nexus_amx_context_hash":"6611CDC66348BEBFBD583F888864A747DCC828C5FE84F58DFB0346CCA27ABAF3"},
  "crypto": {
    "allowed_curve_ids": [
      1,
      3,
      4
    ],
    "allowed_signing": [
      "ed25519",
      "secp256k1",
      "bls_normal"
    ],
    "default_hash": "blake2b-256",
    "sm2_distid_default": "1234567812345678",
    "sm_intrinsics": "auto",
    "sm_openssl_preview": false
  },
  "executor": null,
  "ivm_dir": ".",
  "transactions": [
    {
      "instructions": [
        {
          "Register": {
            "Domain": {
              "id": "wonderland.universal",
              "logo": null,
              "metadata": {
                "key": "value"
              }
            }
          }
        },
        {
          "Register": {
            "Account": {
              "id": "sorauロ1PノウヌmEエWオebHム6ヤルイヰiwuCWErJ7uスoPGアヤnjムKヒTCW2PV",
              "label": null,
              "metadata": {
                "key": "value"
              },
              "uaid": null
            }
          }
        },
        {
          "Register": {
            "Account": {
              "id": "sorauロ1NアサクYSafヌキヰc5ヌトVxマ9jLZヱヒzsKqurハリ9ク3eエAカD54TDT",
              "label": null,
              "metadata": {
                "purpose": "fee_sponsor_vault_custody"
              },
              "uaid": null
            }
          }
        },
        {
          "Register": {
            "AssetDefinition": {
              "confidential_policy": {
                "mode": "TransparentOnly",
                "pedersen_params_id": null,
                "pending_transition": null,
                "poseidon_params_id": null,
                "vk_set_hash": null
              },
              "id": "62Fk4FPcMuLvW5QjDGNF2a4jAmjM",
              "logo": null,
              "metadata": {},
              "mintable": "Infinitely",
              "spec": {
                "scale": null
              },
              "name": "rose"
            }
          }
        },
        {
          "Register": {
            "Domain": {
              "id": "garden_of_live_flowers.universal",
              "logo": null,
              "metadata": {}
            }
          }
        },
        {
          "Register": {
            "Account": {
              "id": "sorauロ1PyXノspjg6gnvエ1メムLネオBトEwtテD8Rクヌgヲホセレカ7エvWUJA5A",
              "label": null,
              "metadata": {},
              "uaid": null
            }
          }
        },
        {
          "Register": {
            "AssetDefinition": {
              "confidential_policy": {
                "mode": "TransparentOnly",
                "pedersen_params_id": null,
                "pending_transition": null,
                "poseidon_params_id": null,
                "vk_set_hash": null
              },
              "id": "5CJ6HCMxWw9xhuHmxDrzEfWGeE7M",
              "logo": null,
              "metadata": {},
              "mintable": "Infinitely",
              "spec": {
                "scale": null
              },
              "name": "cabbage"
            }
          }
        }
      ],
      "ivm_triggers": [],
      "parameters": {
        "block": {
          "max_transactions": 512
        },
        "custom": {
          "ivm_gas_limit_per_block": {
            "id": "ivm_gas_limit_per_block",
            "payload": 1680000
          },
          "sumeragi_npos_parameters": {
            "id": "sumeragi_npos_parameters",
            "payload": {
              "activation_lag_blocks": 1,
              "epoch_length_blocks": 3600,
              "epoch_seed": "A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5",
              "evidence_horizon_blocks": 7200,
              "finality_margin_blocks": 8,
              "max_entity_correlation_pct": 25,
              "max_nominator_concentration_pct": 25,
              "max_validators": 128,
              "min_nomination_bond": 1,
              "min_self_bond": 1000,
              "seat_band_pct": 5,
              "slashing_delay_blocks": 259200,
              "vrf_commit_window_blocks": 100,
              "vrf_reveal_window_blocks": 40
            }
          }
        },
        "executor": {
          "execution_depth": 3,
          "fuel": 55000000,
          "memory": 1048576
        },
        "smart_contract": {
          "execution_depth": 3,
          "fuel": 55000000,
          "memory": 1048576
        },
        "sumeragi": {
          "block_cadence_ms": 100,
          "key_activation_lead_blocks": 1,
          "key_allowed_algorithms": [
            "bls_normal"
          ],
          "key_allowed_hsm_providers": [
            "pkcs11",
            "yubihsm",
            "softkey"
          ],
          "key_expiry_grace_blocks": 0,
          "key_overlap_grace_blocks": 8,
          "key_require_hsm": false,
          "max_clock_drift_ms": 1000},
        "transaction": {
          "ivm_bytecode_size": 4194304,
          "max_decompressed_bytes": 10485760,
          "max_instructions": 20000,
          "max_metadata_depth": 8,
          "max_signatures": 16,
          "max_time_to_live_ms": 86400000,
          "max_tx_bytes": 10485760,
          "require_height_ttl": false,
          "require_sequence": false
        }
      },
      "topology": []
    },
    {
      "instructions": [
        {
          "Mint": {
            "Asset": {
              "destination": "62Fk4FPcMuLvW5QjDGNF2a4jAmjM#sorauロ1PノウヌmEエWオebHム6ヤルイヰiwuCWErJ7uスoPGアヤnjムKヒTCW2PV",
              "object": "13"
            }
          }
        },
        {
          "Mint": {
            "Asset": {
              "destination": "5CJ6HCMxWw9xhuHmxDrzEfWGeE7M#sorauロ1PノウヌmEエWオebHム6ヤルイヰiwuCWErJ7uスoPGアヤnjムKヒTCW2PV",
              "object": "44"
            }
          }
        },
        {
          "Transfer": {
            "AssetDefinition": {
              "destination": "sorauロ1PノウヌmEエWオebHム6ヤルイヰiwuCWErJ7uスoPGアヤnjムKヒTCW2PV",
              "object": "62Fk4FPcMuLvW5QjDGNF2a4jAmjM",
              "source": "sorauロ1Nノマ2スヘネdmcLfDBwoスリシoF5sHeカdカQbネxGVヰ8tCホ4P4KX7"
            }
          }
        },
        {
          "Grant": {
            "Permission": {
              "destination": "sorauロ1PノウヌmEエWオebHム6ヤルイヰiwuCWErJ7uスoPGアヤnjムKヒTCW2PV",
              "object": {
                "name": "CanSetParameters"
              }
            }
          }
        },
        {
          "Grant": {
            "Permission": {
              "destination": "sorauロ1PノウヌmEエWオebHム6ヤルイヰiwuCWErJ7uスoPGアヤnjムKヒTCW2PV",
              "object": {
                "name": "CanRegisterAccount"
              }
            }
          }
        }
      ],
      "ivm_triggers": [],
      "topology": []
    }
  ],
  "wire_protocol_version": 3
}

ཡིག་སྣོད་ཚུ་

defaults/genesis.json ལུ་ གཞི་སྒྲིག་འབད་ཡོད་པའི་ཁ་བྱང་འདི་ Upstream Repository གིས་བཏང་དོ་ཡོདཔ་ཨིན། Kagami བཟོ་སྐྲུན་འབད་མི་ Networksགིས་ output directory ནང་ རང་སོའི་ manifest དང་ Signed Transaction འདི་འབྲི་དོ་ཡོདཔ་ཨིན།

bash
cargo run --bin kagami -- localnet --build-line iroha3 --peers 4 --out-dir ./localnet

འདི་ནང་ལུ་ ཐོན་སྐྱེད་འབད་མི་ README.md གིས་ གདམ་འཐུ་འབད་ཡོད་པའི་ཡིག་གཟུགས་ཀྱི་དོན་ལུ་ འབྲི་ཤོག་ཚུ་དང་ འགོ་བཙུགས་ནིའི་བཀའ་རྒྱ་ཚུ་ ཐོ་བཀོད་འབདཝ་ཨིན།

འདྲན་འདྲ་གི་སྒྲིག་གཞི།

config.toml གི་ས་ཆ་ནང་ [genesis] ལུ་མིང་རྟགས་བཀོད་ཡོད་པའི་ genesis transaction གྱི་མཉམ་རོགས་ཚུ་:

toml
[genesis]
file = "./genesis.signed.nrt"
public_key = "ed0120..."

མཉམ་འབྲེལ་ཚོགས་པ་ག་ར་གིས་ genesis transaction དང་ genesis public key ལུ་ གྲོས་བསྟུན་འབད་དགོཔ་ཨིན།

འཐོག་མ་ཡི་གུ་གི་རྟགས་བཀོད་

ཁྱོད་ཀྱིས་ ལག་པའི་ཐོག་ལས་ བརྡ་འགྲེལཔ་ཅིག་ བསྒྱུར་བཅོས་འབད་བ་ཅིན་ གྲྭ་ཚང་ཚུ་ འགོ་བཙུགས་པའི་ཧེ་མར་ ཆ་འཇོག་འབད་ཞིནམ་ལས་ ཐོ་བཀོད་འབད་:

bash
cargo run --bin kagami -- genesis validate ./genesis.json
cargo run --bin kagami -- genesis sign ./genesis.json \
  --private-key "$GENESIS_PRIVATE_KEY_HEX" \
  --algorithm ed25519 \
  --out-file ./genesis.signed.nrt

NPoS ཡང་ན་ Nexus འདྲ་བཤུས་ཚུ་གི་དོན་ལུ་ Topologyདང་ BLS Proof of Possession འདི་བཟོ་སྐྲུན་འབད་ཡོད་པའི་འདྲ་བཤུས་ཀྱི་དོན་ལས་ དགོཔ་ཨིན། Kagami localnet, wizard དེ་ལས་འདྲ་བཤུས་བཟོ་སྐྲུན་གྱི་བཀའ་རྒྱ་ཚུ་གིས་ གནད་སྡུད་ཚུ་ རང་བཞིན་གྱིས་ལག་ལེན་འཐབ་འོང་།

འཐོག་མ་ཡི་དེབ་འདི་ ལོག་བཙུགས་ནི་

གྲྭ་ཚང་ཅིག་གིས་ genesis བཏུབ་ནི་དེ་ ལག་ལེན་འཐབ་མ་བཏུབ་པའི་ localnetནང་ལུ་ genesis གསརཔ་ཅིག་བརྟག་དཔྱད་འབད་ནིའི་དོན་ལུ་ རྭ་ཚང་ཚུ་ བཀག་གཏང་ནི་དང་ ཁོང་རའི་བྱུང་ཡོད་པའི་ state directory འདི་བཏོན་ཏེ་ signing genesis གསོ་བ་ལས་འགོ་བཙུགསཔ་ཨིན། ཁྱབ་སྤེལ་འབད་ཡོད་པའི་ net ལུ་ genesis བསྒྱུར་བཅོས་མ་འབད་ ག་དེམ་ཅིག་སྦེ་ validator ཆ་མཉམ་ཀྱིས་ migration དེ་བཟུམ་སྦེ་རང་ འབྲེལ་བ་འཐབ་མ་ཚུགསཔ་ཨིན།