Skip to content

Izanami དང་གཅིག་ཁར་ ཐད་ཀར་དུ་ བརྟག་དཔྱད་འབདཝ་ཨིན།

Izanami འདི་ Upstream Iroha གྱི་ལཱ་གི་ས་ཁོངས་ནང་ལུ་ chaosnet orchestratorཨིན། དེ་གིས་ One disposable local Iroha ཀལསི་ཊར་འདི་འགོ་བཙུགསཔ་ད་ སྒྲིག་གཞི་བཟོ་ཚུགས་པའི་ ལཱ་ཁེ་རྒུད་ཅིག་ བཏང་ཞིནམ་ལས་ བཙག་འཐུ་འབད་ཡོད་མི་ ཆ་རོགས་ཚུ་ནང་ འཛོལ་བ་ཚུ་བཙུགསཔ་ད་ ལག་ལེན་པ་ཚུ་གིས་ དེད་གཡོགཔ་ཚུ་གིས་ གྲུབ་འབྲས་བཏོན་ཏེ་ཡོད་མེད་བརྟག་དཔྱད་འབད་ཚུགས།

Izanami ལག་ལེན་འཐབ་ནི་དེ་ བཟོ་སྐྲུན་གྱི་ཧེ་མར་ བརྟག་ཞིབ་འབད་ནི་དང་ སླར་ལོག་སླར་སྒྲིག་འབད་ནི་ དེ་ལས་ གྲོས་བསྟུན་མཐུན་བཟོ་ནིའི་དོན་ལུ་ཨིན། གློག་ཆས་འདི་ བཟོ་སྐྲན་ཁ་ཐུག་ལུ་མ་བཏོན་ ག་ཅི་སྨོ་ཟེར་བ་ཅིན་ གློག་ཆས་འདི་གིས་ འགོ་འདྲེན་འཐབ་མི་ འདྲ་མཉམ་ཚུ་རྩིས་ཏེ་ འདྲ་མཉམ་བསྐྱར་འགོ་བཙུགསཔ་ད་ སྒྲིང་སྒྲི་བཟོ་བཀོད་འབད་ནིའི་ wipes ཉམས་བཅོས་འབད་མི་འདི་དང་ ས་གནས་ཀྱི་ CPU ཡང་ན་ ཌིསི་ཀིཊ་གི་ཨེབ་ཤུགས་ཚུ་ ལག་ལེན་འཐབ་ཨིན།

དགོས་མཁོ་ཚུ་

Izanami འདི་ Run ལས་ Iroha གཞི་རྟེན་རྩིས་སྲུང་ཁང་, གནད་སྡུད་ཡིག་ཚང་འདི་ནང་ལས་མེན་:

bash
git clone https://github.com/hyperledger-iroha/iroha.git
cd iroha
cargo build -p izanami

གློག་ཐིག་གཉིས་ཆ་ར་ལུ་ འབྲེལ་མཐུད་འབད་ཡོད་པའི་མཉམ་རོགས་ཚུ་ བཟོ་ནི་དང་ ལག་ལེན་འབད་ནི་ལུ་ ཐབས་ཤེས་གསལ་སྦེ་བྱིན་དགོཔ་ཨིན། TUI ལས་མ་འོང་མི་ བཀྲམ་སྤེལ་ཐེངས་རེ་གི་དོན་ལུ་ --allow-net མཐར་འཁྱོལ་ ཡང་ན་ TUI ནང་ allow_net སྒྲིག་འཇུག་འདི་བཟོ་བཅད།

bash
cargo run -p izanami -- --allow-net --peers 4 --faulty 1 --duration 120s

འབྲེལ་བ་འཐབ་ཐངས་ཀྱི་ལམ་ལུགས་གི་དོན་ལུ་:

bash
cargo run -p izanami -- --tui --allow-net

Izanami གིས་ TUI དང་ CLI གཞི་སྒྲིག་ཚུ་ User Config Directory གི་འོག་ལུ་ བཞག་དོ་ཡོདཔ་ལས་ སྔོན་བྱོན་གི་ཡིག་གཟུགས་སླར་ལོག་མ་ལག་ལེན་འཐབ་པའི་ཧེ་མར་ སྟོན་འབད་ཡོད་པའི་ གཞི་སྒྲིག་ཚུ་ བསྐྱར་ཞིབ་འབདཝ་ཨིན།

གཞི་རྟེན་ལམ་སྟོན་

དཀའ་སྡུག་ཅན་གྱི་འཛོལ་བ་ཚུ་མ་བཙུགས་པའི་ཧེ་མར་ བསྐྱར་གསོ་འབད་ཚུགས་མི་ གཞི་རྟེན་ཚད་གཞི་གཅིག་ལས་འགོ་བཙུགས་ནི།

bash
cargo run -p izanami -- \
  --allow-net \
  --peers 4 \
  --faulty 1 \
  --duration 5m \
  --target-blocks 100 \
  --progress-interval 15s \
  --progress-timeout 120s \
  --latency-p95-threshold 2s \
  --tps 15 \
  --max-inflight 32 \
  --submitters 1 \
  --seed 42

འ་ནི་ལཱ་འདི་ གྲུབ་འབྲས་འབྱུང་ཚུགས་པ་ཅིན་ ཀལསི་ཊར་འདི་གིས་ བཀྲམ་སྤེལ་འབད་དགོ་པའི་ བཀྲམ་སྟོན་ཐོ་བཀོད་ཐོ་བཀོད་ཀྱི་ དམིགས་གཏད་ཐོ་བཀོདཔ་ལུ་ ཕན་ཐོགས་བྱུང་སྟེ་ཡོདཔ་དང་ དུས་ཡུན་ཚང་བའི་ནང་ གྲུབ་འབྲས་བཏོན་ཏེ་ཡོད་ དེ་ལས་ optional p95 block interval threshold གྱི་འོག་ལུ་ བཞག་འོང་།

བཀའ་རྒྱ་, seed, Iroha commit, peer count, faulty-peer count, workload profile, target TPS དང་ latency threshold འདི་ logs དང་གཅིག་ཁར་ཡིག་སྣོད་འབད་ཚུགས། འ་ནི་གོང་ཚད་ཚུ་མེད་པ་ཅིན་ ལག་ལེན་པ་གཞན་གྱིས་འཛོལ་བ་གི་རྣམ་གཞག་དེ་ ལོག་སྤྱོད་འབད་མི་ཚུགས་ཨིན།

ལཱ་གི་འགན་ཁུར་གྱི་ཐོ་ཡིག་ཚུ་

Izanami ནང་ལུ་ ལཱ་གི་འགན་ཁུར་གྱི་ཐོ་ཡིག་གཉིས་ཡོདཔ་ཨིན།

དཔྱད་ཡིག་འདི་གི་དོན་ལུ་ལག་ལེན་འཐབ་ཡིག་སྣོད་ཚུ་
stableརྒྱུགས་ཆུ་ཡུན་རིངམ་དང་ བསྐྱར་གསོ་འབད་ཚུགས་པའི་གྲུབ་འབྲས་བརྟག་དཔྱད་བཀྲམ་སྟོན་འབད་ནིའི་ ཉེན་ཁ་ཅན་གྱི་ བཞེས་སྒོ་ཚུ་
chaosཉེན་སྲུང་མེད་པའི་ལམ་གྱི་ཁེ་རྒུད་བཀྲམ་སྤེལ་འབད་ནིའི་ ཐབས་ལམ་རྩ་ཅན་ཚུ་

དང་པ་ stable profile འདི་ལག་ལེན་འཐབ་དགོ།

bash
cargo run -p izanami -- --allow-net --workload-profile stable --seed 42

གཞི་རྟེན་འབྱུང་ཁུངས་འདི་ ཧ་གོ་ཚར་བའི་བསྒང་ལས་ སྟབས་མ་བདེཝ་གི་གནས་སྟངས་ལུ་ བསྒྱུར་བཅོས་འབད་:

bash
cargo run -p izanami -- --allow-net --workload-profile chaos --seed 42

ཟད་འགྲོ་བཏང་ནིའི་ཡིག་ཆའི་སྒྲིག་གཞི་ཚུ་ ངེས་གཏན་སྦེ་ལག་ལེན་འཐབ་མ་བཏུབ་པར་བཞག་དོ་ཡོདཔ་མ་གཏོགས་ འདི་གི་དོན་ལུ་ གསལ་ཏོག་ཏོ་སྦེ་ ངོས་ལེན་འབད་མ་ཚུགསཔ་ཨིན།

bash
cargo run -p izanami -- \
  --allow-net \
  --workload-profile stable \
  --allow-contract-deploy-in-stable

ཁྱོད་ཀྱིས་ --nexus ལག་ལེན་འཐབ་ནི་ཨིནམ་ད་ རྒྱུན་འགྲུལ་འཐབ་ཐངས་འདི་ Upstream གྱི་ལཱ་ས་ཁོངས་ནང་ལས་ བཙུགས་ཡོད་པའི་ SORA Nexus སྔོན་སྒྲིག་ཚུ་ལག་ལེན་འཐབ་དགོཔ་ཨིན།

འཛོལ་བ་སེལ་འཐུ་འབད་ནི་

--faulty གིས་ ༠ ལས་བརྒལ་མེད་པ་ཅིན་ ཁ་ཉེས་ཅན་གྱི་ གནས་སྟངས་གཅིག་ཡང་ འགོ་བཙུགས་དགོཔ་ཨིན། ཌེ་པཱལ་གྱིས་ ཁ་ཉེས་ཅན་ལུ་ བསྒྱུར་བཅོས་འབད་ཞིནམ་ལས་ Boolean flags འདི་ =false ལུ་ བཀག་ཚུགས་འོང་།

ཉེས་པ་CLI ཌེ་པཱལ་འདི་ག་ཅི་ལུ་ ལག་ལེན་འཐབ་དོ་ཡོདཔ་ཨིན་ན?
མར་ཉམས་འགྱོ་ནི་དང་ ལོག་འགོ་བཙུགས་གཏང་།--fault-enable-crash-restartགྲྭ་ཚང་གི་ བྱ་རིམ་གྱི་ཉམས་རྒུད་དང་ ལོག་ཐོབ་ཐབས།
སྒྲིང་སྒྲི་ཚུ་སེལ་འཐུ་འབད་ཞིནམ་ལས་ ལོག་འགོ་བཙུགས་--fault-enable-wipe-storageས་གནས་ཀྱི་མངའ་སྡེའི་ནང་ལས་ ལོག་ཐོབ་ཐབས།
དམ་ཚིག་མེད་མི་ འབྲེལ་བ་འཐབ་ནིའི་ spam--fault-enable-spam-invalid-transactionsའཛུལ་ཞུགས་དང་ ཆ་མེད་གཏང་ཐངས་ཚུ་
འབྲེལ་མཐུད་འབད་ནིའི་དུས་ཡུན་--fault-enable-network-latencyཁུ་སིམ་སི་གི་གཏམ་བཤད་དང་ གྲོས་འཆམ་ཡི་གུ་ཚུ་ འཕྲལ་ཁམས་ཅིག་ཁར་བཏང་ཡོདཔ་ཨིན།
ཡོངས་འབྲེལ་ཆ་བགོས་--fault-enable-network-partitionགནས་སྐབས་ཀྱི་ བློ་གཏད་མི་ འདྲན་འདྲ་མཉམ་པ་ཚུ་ལས་ རང་རྐྱང་བཞག་ཐབས།
P2P སྦ་སྒོར་རླག་གཏང་ཐབས།--fault-enable-network-packet-lossགློག་ཐག་ར་བ་ལག་ལེན་ལམ་ལུགས་ཀྱི་རྒྱུན་འགྲུལ་རླག་སྟོར་
CPU ཤུགས་རྐྱབས།--fault-enable-cpu-stressས་གནས་ཀྱི་བརྟག་དཔྱད་དང་ འཆར་གཞི་བཟོ་ཐངས་གི་དཀའ་ངལ་
ཌི་སི་ཀིཊ་ saturation--fault-enable-disk-saturationས་གནས་ཀྱི་བཞག་སའི་ཤུགས་

ཟད་འགྲོ་ཕུད་རྡོག་རྐྱང་གི་དོན་ལུ་:

bash
cargo run -p izanami -- \
  --allow-net \
  --peers 20 \
  --faulty 5 \
  --duration 800s \
  --fault-window-start 133s \
  --fault-window-end 266s \
  --tps 200 \
  --submitters 20 \
  --max-inflight 512 \
  --fault-enable-crash-restart=false \
  --fault-enable-wipe-storage=false \
  --fault-enable-spam-invalid-transactions=false \
  --fault-enable-network-latency=false \
  --fault-enable-network-partition=false \
  --fault-enable-network-packet-loss=true \
  --fault-enable-cpu-stress=false \
  --fault-enable-disk-saturation=false \
  --fault-network-packet-loss-percent 75 \
  --seed 42

ཁྱོད་ཀྱིས་ --fault-window-start དང་ --fault-window-end ལག་ལེན་འཐབ་སྟེ་ ཌོག་ཊར་གྱི་འཛོལ་བ་མ་འབྱུང་པའི་ཧེ་མར་དང་ དེ་གི་ཤུལ་ལས་ རྒྱུན་ཆད་མེད་པའི་གནས་སྟངས་ནང་ བཞག་ནི་ཨིནམ་ད་ འདི་གིས་ གློག་ཤུགས་འགོ་བཙུགསཔ་གི་ སྒྲ་དབྱངས་དང་ འབྱུང་རྐྱེན་ཀྱི་གྲུབ་འབྲས་ཚུ་ དབྱེ་བ་ཕྱེ་ནི་ལུ་འཇམ་ཏོང་ཏོ་འབད་འོང་།

གནས་སྟངས་ཀྱི་བཟོ་རྣམ་ཚུ་

Izanami གི་ཐོ་ཡིག་འདི་ CLI འདྲ་ཕབ་ཚུ་ནང་ལུ་ སྤྱིར་བཏང་ blockchain བརྡ་དོན་མ་མཐུན་པའི་བཟོ་རྣམ་ཚུ་ཡོདཔ་ཨིན། ཁྱོད་ཀྱིས་དེ་ཚུ་ལུ་དཔེ་སྟོན་འབད་ཚུགས་ཨིན།

གནས་སྟངས་སྤྱིར་བཏང་བཟོ་དབྱིབས་
དམིགས་གཏད་ཅན་གྱི་ མཁོ་ཆས་ཚུ་--faulty 0, མཐོ་ཤོས་ --tps, མཁོ་སྤྲོད་འབད་མི་གཅིག་, མཐོ་ཤོས་ --max-inflight
གནས་སྐབས་ཀྱི་འཛོལ་བ་crash/restart འདི་ limited fault window ནང་རྐྱངམ་ཅིག་སེལ་འཐུ་འབད།
སྦ་སྒོར་རླག་གཏང་ཐབས།བསྡུ་སྒྲིག་གི་གྱོང་རྒུད་རྐྱངམ་ཅིག་ སེལ་འཐུ་འབད། སྤྱིར་བཏང་རང་ %75 གྱི་གྱོང་རྒུདཔ་ཀྱི་གནས་ཚད་འདི་ཨིན།
བཀག་ཆ་དང་ ལོག་ཐོབ་ཐབས།crash/restart དང་གཅིག་ཁར་ནོར་འཁྲུལ་ཅན་གྱི་མི་རློབས་སྦོམ་ཅིག་ལག་ལེན་འཐབ་།
འགོ་དཔོན་ཚུ་གི་སྦ་བཞག་ཁང་ཕྲ་འཕྲོས་ཅིག་ལག་ལེན་འཐབ་ནི་དེ་ net partition ཡང་ན་ packet loss གྱི་འཛོལ་བ་རྐྱངམ་གཅིག་ཨིན། Izanami གིས་ Sumeragi leader telemetry འབདཝ་ཨིན།

བསྒྱུར་བཅོས་འབད་མི་གཅིག་རང་ དུས་ཡུན་གཅིག་གི་ནང་ སེལ་འཐུ་འབད། ཁྱོད་ཀྱིས་ འདྲན་འདྲ་གི་གྲངས་རྩིས་དང་ ལཱ་འབད་ཐངས་ཀྱི་ཁྱད་ཐོ་ དེ་ལས་ TPS འདི་ཡང་ བསྒྱུར་བཅོས་འབད་བ་ཅིན་ གྲུབ་འབྲས་འདི་ ཧ་གོ་ནི་དེ་ ལཱ་ཁག་ཨིན།

བལྟ་དགོ་པའི་གནད་དོན་

རྒྱུན་འགྲུལ་འབད་བའི་སྐབས་ སྒྲུབ་བྱེད་ལག་ལེན་གྱི་དོན་ལུ་ ལག་ལེན་འཐབ་མི་བརྡ་སྟོན་ཚུ་བལྟ་དགོ།

  • བཀྲམ་སྤེལ་འབད་ཐངས་ཀྱི་གོང་འཕེལ་འདི་ འགྲོ་འགྲུལ་འབད་མི་མཉམ་རུབ་རེ་ལུ་
  • གྲོས་འདེབས་ཕུལ་ཡོདཔ་དང་ ངོས་ལེན་འབད་ཡོདཔ་དང་ ཆ་མེད་བཏང་ཡོདཔ་ དེ་ལས་ དུས་ཡུན་མ་རན་པར་མཇུག་བསྡུ་མི་ཚུ་ཨིན།
  • ཟུར་གྱི་གཏིང་དང་ ཟུར་གྱི་ཚངས་ཚད་ དེ་ལས་མཇུག་གི་སྒོ་ར་ཁའི་ཨེབ་གཏང་ཤུགས་ཚུ་
  • བལྟ་བཤལཔ་ལུ་འགྱུར་བཅོས་འབད་ཐབས། ལོག་སྤྱོད་འབད་ཐབས། མེད་པའི་པཱོལ་ཚུ་དང་ མེད་པའི་ ཀོ་རོ་མ་ལག་ཁྱེར་ཚུ་
  • RBC རྒྱབ་སྐྱོར་, གྲོས་བསྡུར་འབད་མ་དགོ་པའི་ཚོགས་འདུ་དང་ གྲོས་བསྟུན་གྱི་རྒྱུན་འགྲུལ་མར་ཕབ་འབད་ནི་ ཡང་ན་ དུས་ཡུན་འགོར་ནི་
  • CPU, དྲན་ཐོ། ཌིས་ཀིསི་དང་ལྡནམ་སྦེ་འབད་ཡོད་པའི་དྲ་ལམ་ནང་ལུ་ གྲྭ་ཚང་ཚུ་ལག་ལེན་འཐབ་དོ་ཡོདཔ་ཨིན།

བརྟག་ཞིབ་དུས་ཡུན་བརྟག་དཔྱད་འབད་ནིའི་དོན་ལས་, main-loop debug logs འདི་སེལ་འཐུ་འབད།

bash
RUST_LOG=iroha_core::sumeragi::main_loop=debug \
  cargo run -p izanami -- --allow-net --seed 42

སྦྲག་སོ་སོ་གིས་ block validation timings དང་ stateless_msདང་ execution_ms དེ་ལས་ total_ms ལུ་གློག་བརྙན་སྤེལ་འབད་དགོཔ་ཨིན། དུས་ཡུན་འདི་ p95 སྦྲགས་ཀྱི་དུས་ཡུན་ཚུ་དང་ མཐོང་སྣང་བརྗེ་སོར་གྱི་ counters དང་ queue pressure ཚུ་དང་གཅིག་ཁར་བསྡུར་འབད་ཞིནམ་ལས་ consensus timers བསྒྱུར་བཅོས་འབདཝ་ཨིན།

གྲུབ་འབྲས་ཚུ་འགྲེལ་བཤད་འབདཝ་ཨིན།

བཀྲམ་སྤེལ་འབད་ནིའི་ལཱ་འདི་ གསལ་ཏོག་ཏོ་ཅིག་སྦེ་ ལག་ལེན་འཐབ་དོ་ཡོདཔ་ད་ བཙག་འཐུ་འབད་ཡོད་མི་ འདྲན་འདྲ་མཉམ་པ་ཚུ་གིས་ ལྡེ་མིག་ཚུ་ བསྡུ་སྒྲིག་འབད་ནི་ལུ་ འཕྲོ་མཐུད་དེ་ར་ འབད་དོ་ཡོདཔ་དང་ ལྡེ་ཁུག་མེད་པའི་རྒྱབ་སྐྱོར་ཡར་སེང་འགྱོ་མི་ དེ་ལས་ གཞི་སྒྲིག་འབད་ཡོད་པའི་ སྒོ་སྒྲིག་མཇུག་བསྡུ་བའི་ཤུལ་ལུ་ ལྕོགས་གྲུབ་མེདཔ་ལས་ སླར་ལོག་འབད་ནི་གི་ ལཱ་འགོ་བཙུགས་ནི་མཚམས་བཞག་འོང་།

རྒྱུགས་རྒྱུག་འདི་ འཛོལ་བ་སྦེ་འབད་དགོ་པ་ཅིན་:

  • གྲུབ་འབྲས་ཚུ་ --progress-timeout ལས་བརྒལ་མ་འབྱུང་བའི་དོན་ལུ་
  • འདྲན་འདྲ་གི་མཐོ་ཚད་ཚུ་ འཁྱིད་འགྱོ་དོ་ཡོདཔ་ལས་ སླར་ལོག་མ་འགྱུརཝ་ཨིན།
  • --latency-p95-threshold ལས་བརྒལ་མེད་མི་ p95
  • ཕྲ་རིང་གི་ སྒོ་སྒྲིག་ཅིག་སེལ་ཚར་བའི་ཤུལ་ལས་ རེ་རེ་ཚུ་ཡར་སེང་འགྱོ་དོ་ཡོདཔ་ཨིན།
  • ཕྱིར་བཏོན་འབད་མི་དང་ དུས་ཡུན་མ་རན་པའི་ཚོང་འབྲེལ་ཚུ་ སེལ་འཐུ་འབད་ཡོད་པའི་ལཱ་གི་འགན་ཁུར་ལུ་བརྟེན་མེདཔ།
  • འདྲན་འདྲ་མཉམ་བསྐྱར་འགོ་བཙུགསཔ་ད་ སྒྲིང་སྒྲི་སེལ་འཐུ་འབད་ནི་དང་ ཡང་ན་ ཕབ་ལེཊ་རླག་གཏང་པའི་དོན་ལུ་ ལག་ལེན་གྱི་གཙང་སྦྲ་འབད་དགོཔ་ཨིན།

གློག་ཐག་ར་བ་མ་ཐོན་པའི་ཤུལ་ལུ་ སྣུམ་འཁོར་དེ་ལོག་ལྟབ་སྦེ་ བཏོན་ཞིནམ་ལས་ ཟད་འགྲོ་གི་དབྱེ་བ་གཅིག་ཡང་ མར་བབས་བཏང་སྟེ་ བཏོན་བཏངམ་ཨིན། འདི་གིས་ ལཱ་འབད་ནིའི་དཀའ་ངལ་དང་ དུས་ཡུན་ཚུ་ ལོག་སྤྱོད་འབད་ཚུགསཔ་བཟོཝ་ཨིན། དེ་བཟུམ་སྦེ་ གློག་ཐངས་ཚུ་ཡང་ མར་བབས་འགྱོ་ཚུགས།