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 དེ་བཟུམ་སྦེ་རང་ འབྲེལ་བ་འཐབ་མ་ཚུགསཔ་ཨིན།