ááá±á¬áẠáá°á·áááááºáááºáá»á¬ážá áœá¬ááᯠááá¯ážáááºáá±á¬ááºážááœááºáá¬á á±ááẠáááááŒá¯ááá·áº áááºážáá áºáá®ááœááºáá¬ážáá±á¬ áááºážááá¬áá áºáá¯ááŒá áºáááºá áááºážááẠá á áºááŸááºáá±á¬ áá¯ááºáááºážá ááºáá»á¬ážááŸáá·áº áá¯ááºáá¯ááºáá»á¬ážááᯠáá áºáá»á áºáááºáá±áá¬ááá¯á· ááœáŸá²ááŒá±á¬ááºážáá±ážáá¬á ááœá±ááŒá±ážááœáŸá²ááŒá±á¬ááºážááŸá¯áá»á¬ážá á¡ááŒááºááŸá¯ááºážááŸáá·áº áá¯á¶ááŒááºá áááºáá»áááŸá¯ááᯠá¡á¬ááá¶áá±ážáᬠáááºážááá¯á·á áá¯ááºáá»á ááááºáá»á¬ážááᯠáá»áŸá±á¬á·áá»áá±ážáá¬á áááá¯áá»á¯ááºááá¯ááºááŸá¯áá»áŸá±á¬á·áá»áá¬ážáá±á¬ ááœááºáááºáá»á¬ážááœáẠá áááºá á¬áá»á¯ááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áᬠáá±ááºáá® DAPP á¡ááá®áá±ážááŸááºážáá»á¬ážááᯠáááºáá®ážááá¯ááºá á±áááºááŒá áºáááºá
áá»á¬ážá áœá¬áá±á¬á¡áá»áá¯ážáá»á±ážáá°ážáá»á¬ážááŸáá·áº blockchain áááœá²ááŒá¬ážáá±á¬á¡áá¯á¶ážáá»áááá¯ááááºáá»á¬ážááá¯áá±ážáá±á¬ááŒá±á¬áá·áºá€á¡áá¬ážá¡áá¬ááŸááá±á¬áááºážááá¬áááºá ááºááŸá¯áá¯ááºáááºážááá¯ááºážááá¯á·ááááºáá±á¬ááºáá±ážáááºááŸá¬ á¡á¶á·ááŒá áá¬ááŒá áºááá¯ááºáááºá ááŒá¿áá¬ááŸá¬ áá±ááºáá® áááá¯áá»á¯ááºááá¯ááºááŸá¯ áá»áŸá±á¬á·áá»áá¬ážáá±á¬ blockchains áá»á¬ážááẠáá»á²á·ááœááºááá¯ááºá áœááºážáááŸáááŒááºážáááºááŒá áºáááºá Ethereum ááẠáá áºá áá¹ááá·áºáá»áŸáẠá¡áá±á¬ááºážá¡áááºááŒá¯áá¯ááºááŸá¯ 20 ááá·áºááᯠáá¯ááºáá±á¬ááºáá±ážáááºá áááºážááẠááá±á·áá±ááºáááœááºáááºáá±á¬á á®ážááœá¬ážáá±ážáá¯ááºáááºážáá»á¬ážáááá¯á¡ááºáá»ááºáá»á¬ážááá¯ááŒáá·áºáááºážáááºááá¯á¶áá±á¬ááºáá«á áá áºáá»áááºáááºážááŸá¬áááºá blockchain áááºážááá¬ááá¯á¡áá¯á¶ážááŒá¯ááá·áºáá¯áá¹ááá®áá»á¬ážáááºáááºáá¬ááŸáá·áºááœááºáááºáá»ááºááœááºááŸá¯ááŸáá¬ááœááºááŸá¯ááŒáá·áºáá¬ážáá±á¬ááŒá±á¬áá·áº Ethereum ááá¯á áœáá·áºáá áºáááºáá¯á¶á·ááá¯ááºážáá±ááŒáááºá
blockchain ááœáẠáááá¯áá»á¯ááºááá¯ááºááŸá¯áá»áŸá±á¬á·áá»áá±ážá áá¯á¶ááŒá¯á¶áá±ážááŸáá·áº á¡ááœááºá¡á
á¬áž á¡ááá¯ááºážá¡áá¬ááᯠáá±áá»á¬á
á±áááºá ááá¯á·ááŒá±á¬áá·áº Scalability Trilemmaá ááœá¶á·ááŒáá¯ážááá¯ážáááºáá±ážá¡ááœá²á·á
Plasma Cash ááŸá á¡ááááá¯ááºáááºážá ááºáá»á¬áž
1. áá¯á¶ážá áœá²áá°ááẠááá¬á áá¬ááœá±áá¬áž ááá¯áááºááá¯á· á¡ááºááŸá¶ááá¯áá±á¬ ETH ááá¬áááá¯á· ááŒááºááœá¬ážáá±á¬ á áááºá á¬áá»á¯ááºáá¯ááºáá±á¬ááºáá»ááºááᯠ`á¡ááºááœá±ÂŽ áá¯áá±á«áºááá¯áááºá á áááºáááºáááá¯ááºáá¯ááºáá±á¬ááºáá»ááºááẠááá¯áááºáá áºáá¯ááᯠáááºáá®ážááŒá®áž áááºážááŸáá·áºáááºáááºááá·áº ááŒá áºáááºáá áºáá¯ááᯠáá¯ááºáá±ážáááºá
2. á áááºáááºáááá¯ááºááŒá áºáááºáá»á¬ážááœáẠá á¬áááºážááœááºážáá¬ážáá±á¬ Plasma Cash node áá»á¬ážááẠá¡ááºááœá±áá áºáá¯áááºáá®ážááŒááºážááŸáá·áº áá±áá°ážáááºááá¯á· ááá¯áááºáááºáá®ážááŒááºážááá¯ááºáᬠááœá±áá±ážááœá±áá°áá áºáá¯ááᯠáá±á«ááºážááá·áºááŒááºážá¡ááŒá±á¬ááºáž á¡ááŒá áºá¡áá»ááºáá áºáá¯ááᯠáááºáá¶áááŸáááẠá
3. á¡áá«á¡á¬ážáá»á±á¬áºá áœá¬á á¡áá°áž Plasma Cash node áá»á¬ážááẠáá±áá°ážááẠ(1 áááºážá¡áá) á០ááœá±áá±ážááœá±áá°á¡á¬ážáá¯á¶ážááᯠáá°áᬠáááºážááá¯á·áá¶á០ááá±á¬ááºáá áºáá¯ááœá²á·á ááºážáᬠMerkle áá áºáááºááᯠááœááºáá»ááºááŒá®áž áá»á±á¬áºáá®á áœá¬ hash ááᯠááŒá¯áá¯ááºáááºá á€ááááºááá¯á·ááŒááºážááᯠá¡áááºááŒá¯áááºá¡ááœáẠá¡ááŒá¬áž node ááá¯á· áá±ážááá¯á·áááºá node áá»á¬ážááẠMerkle hash ááẠááá¬ážáááºááŒááºážááŸáá ááááºááá¯á·ááŒááºážááᯠá á áºáá±ážááŒá®ážáá±á¬ááºá node ááẠááááºááá¯á·áá¶áá«ááºááᯠááááºážáááºážáá±ážááŒá®áž Merkle hash ááᯠá¡á áœááºážááœááºážáááºááá¯á· ááŒááºáá±ážááá·áº á áááºá á¬áá»á¯ááºá `submitBlock` áá¯ááºáá±á¬ááºáá»ááºááᯠáá±á«áºáááºá á áááºáá»áá±á¬ á á¬áá»á¯ááºááẠááááºááá¯á·ááŒááºážá á¡á±á¬ááºááŒááºáá±á¬ áááºááá¯ážááŸá¯ááᯠááœáŸááºááŒááá·áº ááŒá áºáááºáá áºáᯠáá¯ááºáá±ážáááºá ááœá±ááœáŸá²ááŸá¯áá»á¬ážááᯠá¡á á¯á¡áá±ážá០áááºááŸá¬ážáááºá
4. ááááºááá¯á·áááºááœááºážááŸá¯ááŒá áºáááºááᯠáááºáá¶áááŸáááá·áº áá¯á¶ááŸááºáá»á¬ážááẠááá±á¬ááºáá²ááá¯á· ááá·áºáá¬ážááá·áº ááœá±áá±ážááœá±áá°áá»á¬ážááᯠá áááºá¡áá¯á¶ážááŒá¯áááºá
5. áá áºáá»áááºáá»áááºááœááºá ááá¯áááºáááá¯ááºááŸáẠ(ááá¯á·ááá¯áẠááá¯ááºááŸááºááá¯ááºáá±á¬) ááẠáááºážááᯠPlasma Cash á០áá¯ááºáá°ááá¯áá«áááºá áááºážááá¯áá¯ááºáá±á¬ááºáááºá áá°ááẠááá¯áááºáááá¯ááºááŸááºááŒá áºááŒá±á¬ááºáž á¡áááºááŒá¯ááá·áº ááá¯áááºááŸá áá±á¬ááºáá¯á¶áž ááœá±áá±ážááœá±áá° 2 áá¯ááŸáá·áºáááºáááºááá·áº á¡áá»ááºá¡áááºááᯠáá±ážááá¯á·áᬠ`startExit` áá¯ááºáá±á¬ááºáá»ááºááᯠáá±á«áºáááºá Merkle hash ááᯠá¡áá¯á¶ážááŒá¯á á áááºá á¬áá»á¯ááºááẠáá¯ááºááœááºáá»á¬ážááœáẠááœá±áá±ážááœá±áá°áá»á¬áž ááŸááá±ááŒááºážááᯠá á áºáá±ážááŒá®áž ááŸá áºáááºá¡ááœááºáž ááŒá áºáá±á«áºáá¬ááá·áº ááœá±áá¯ááºáááºá¡ááœáẠááá¯áááºááᯠáá±ážááá¯á·áááºá
6. ááá¯áááºááœá±áá¯ááºááŒááºážáá¯ááºáááºážááẠáá»áá¯ážáá±á¬ááºááŸá¯áá»á¬ážááŒá±á¬áá·áº ááŒá áºááœá¬ážáá«á (ááœá±áá¯ááºááŒááºážáá¯ááºáááºážá ááºá áááºááŒá®ážáá±á¬áẠááá¯áááºááá¯áá¯á¶ážá áœá²áá²á·ááẠááá¯á·ááá¯áẠááá¯áááºááẠá¡ááŒá¬ážáá°áá áºáŠážáŠážáááœá±áá¯ááºááŒááºážáááŒá¯áá®) ááŒá áºáá«áá ááá¯áááºáááá¯ááºááŸááºááẠáá¯ááºáá°ááŸá¯ááᯠááŸá áºáááºá¡ááœááºáž ááŒááºáááºáá»á±áááá¯ááºáááºá
ááá¯ááºáá±ážááá¯ááºáá¬á¡á¬áž áááºážáááºážááŸá áºáá»áá¯ážááŒáá·áº áááŸááááºá
1. á¡áááºážááœááºážáááºááẠááá±ážááœááºážáááºá¡ááœááºáž áá¯ááºáá¯ááºááŒá®áž áááºááá·áºááá¯á·ááá·áº ááœáŸá²ááŒá±á¬ááºážááŸá¯áá»á¬ážá¡ááŒá±á¬ááºáž áá¬ááŸááááá«á Plasma Cash á០ETH á¡ááºááŸá¶áá°ááŸáá·áº áá¯ááºááœááºáá°áá»á¬ážá¡ááŒá±á¬ááºáž á¡áá»ááºá¡áááºáá»á¬ážááẠá¡áá»á¬ážáá°ááŸá¬ ááŸááá±áá«áááºá
2. ááá±ážááœááºážáááºááẠzk-SNARKs ááᯠá¡áá¯á¶ážááŒá¯á á¡áááºááá ááœá±ááœáŸá²ááŸá¯áá»á¬ážááᯠááœáá·áºááŒá¯áááºá
áááºážááá¬á¡á á¯
- NodeJS
- Redis
- á¡á®áá®áá®áááº
- áá áºáááºáááºá
á ááºážáááºááŒááºáž
Plasma Cash ááá¯áá®ááœááºáá±á ááºááœááºá áá»áœááºá¯ááºááá¯á·ááẠá áá áºáá¡ááŒááºááŸá¯ááºážááᯠá ááºážáááºáá²á·ááŒá®áž á¡á±á¬ááºáá«ááááºáá»á¬ážááᯠáááŸááá²á·áááº-
- áá áºá áá¹ááá·áºáá»áŸáẠááœá±áá±ážááœá±áá° 35 á¡áá áá±áááºáá²ááá¯á· áá±á«ááºážááá·áºáá¬ážáááºá
- ááá±á¬ááºáá áºáá¯ááœáẠááœá±áá±ážááœá±áá° 1 á¡áá ááááºážáááºážááá¯ááºáááºá
á ááºážáááºááŸá¯áá»á¬ážááᯠá¡á±á¬ááºáá« áá¬áᬠ3 áá¯ááœáẠááŒá¯áá¯ááºáá²á·áá«áááºá
1. Intel Core i7-6700 Quad-Core Skylake áá«áááºáááºá NVMe SSD â 512 GBá 64 GB DDR4 RAM
Plasma Cash node 3 áá¯ááᯠá¡áááºááŒá¯áá²á·áááºá
2. AMD Ryzen 7 1700X Octa-Core âSummit Ridgeâ (Zen), SATA SSD â 500 GBá 64 GB DDR4 RAM
Ropsten testnet ETH node ááᯠááŒáŸáá·áºáá¬ážáááºá
Plasma Cash node 3 áá¯ááᯠá¡áááºááŒá¯áá²á·áááºá
3. Intel Core i9-9900K Octa-Core áá«áááºáááºá NVMe SSD â 1 TBá 64 GB DDR4 RAM
1 Plasma Cash áááºááœááºážááŸá¯ Node ááᯠááŒáŸáá·áºáá¬ážáááºá
Plasma Cash node 3 áá¯ááᯠá¡áááºááŒá¯áá²á·áááºá
Plasma Cash ááœááºáááºááá¯á· ááœá±áá±ážááœá±áá°áá»á¬ážááá·áºááẠá
ááºážáááºááŸá¯áá
áºáᯠá
áááºáá²á·áááºá
á á¯á á¯áá±á«ááºáž: áá®ážááá·áºááœááºáááºááŸá Plasma Cash node 10 áá¯á
á ááºážáááºááŸá¯ á
áá áºáá¯á¶ážáá»áŸáẠááœá±áá±ážááœá±áá° á áááºáž ááá·áºáááºáá»áẠááŸááááºá ááá¯á·ááŒá±á¬áá·áºá ááœá±áá±ážááœá±áá° 1 áááºážááẠ1 blocks á¡ááœááºážááá¯á· áá»áá±á¬ááºááẠ(á áá áºááẠááœá±áá±ážááœá±áá°á áá áºá áááºáá áºááá¯ááºážááᯠá á®áá¶ááá·áºááœá²ááŒá®áž áááºážááá¯á·ááᯠáá±ážááá¯á·áá±áá»áááºááœáẠáááºááŒááá¯ááºáá±á¬ááŒá±á¬áá·áº)á
áááŠážá¡ááŒá±á¡áá±- áá±á¬ááºáá¯á¶ážá¡ááœáẠ#7; ááœá±áá±ážááœá±áá° á áááºážááŸáá·áº ááá¯áááºáá»á¬ážááᯠáá±áá¬áá±á·á áºááœáẠááááºážáááºážáá¬ážáááºá
00:00 â ááœá±áá±ážááœá±áá° áá»áá¯ážááẠscript á
áááºááŒááºážá
01:37 - ááœáŸá²ááŒá±á¬ááºážááŸá¯ 1 áááºážááᯠáááºáá®ážááŒá®áž node ááá¯á· á
áááºáá±ážááá¯á·áá²á·áááºá
01:46 â áá±ážááá¯á·ááẠnode ááẠáá±áá°ážáááºá០á¡áá±á¬ááºážá¡áááºáá±á«ááºáž 240k ááá¯áá°áá²á·ááŒá®áž áá±á¬ááºáá»á¬ážááááºááá¯á·ááŒááºáž #8á 320k á¡áá±á¬ááºážá¡áááºáá»á¬ážááᯠ10 á
áá¹ááá·áºá¡ááœááºáž áá±áá°ážáááºááá¯á· áá±á«ááºážááá·áºáááºááá¯áááºáž áá»áœááºá¯ááºááá¯á·ááœá±á·ááŒááºááá«áááºá
01:58 â block #8 ááᯠáááºááŸááºáá±ážááá¯ážááŒá®áž á¡áááºááŒá¯áááºá¡ááœáẠáá±ážááá¯á·áá«áááºá
02:03 â block #8 ááᯠá¡áááºááŒá¯ááŒá®áž á
áááºá
á¬áá»á¯ááºá `submitBlock` áá¯ááºáá±á¬ááºáá»ááºááᯠMerkle hash ááŸáá·áº block áá¶áá«ááºááŒáá·áº áá±á«áºáááº
02:10 â ááá¯ááºááŒáá¬ááºááœáŸááºážááẠááŒá®ážáá¯á¶ážáá²á·ááŒá®áž áá á
áá¹ááá·áºá¡ááœááºáž ááœá±áá±ážááœá±áá° á áááºážááᯠáá±ážááá¯á·áá²á·áááºá
02:33 - ááááºááá¯á·áá¶áá«áẠ8 ááᯠá¡áááºážááœááºážáááºááá¯á· áá±á«ááºážááá·áºááá¯ááºáááºááŸáá·áº 240k á¡áá±á¬ááºážá¡áááºáá»á¬ážááᯠá
áááºáá¯ááºáá±á¬ááºáá²á·áááº
02:40 - 240k á¡áá±á¬ááºážá¡áááºáá»á¬ážááᯠááááºááá¯á·áá¶áá«áẠ8 ááœááºááŸáááŒá®ážáá¬ážááŒá
áºááá·áº pool ááŸáááºááŸá¬ážáá²á·áááº
02:56 â áá±ážááá¯á·ááẠnode ááẠáá±áá°ážáááºááŸáá»ááºááŸááá±á¬ 760k á¡áá±á¬ááºážá¡áááºáá»á¬ážááá¯áá°áᬠMerkle hash ááᯠááœááºáá»ááºááŒá®áž ááá¯ááºážáá¯ááºáá¶áá«áẠ9 ááá¯á
áááºáá²á·áááºá
03:20 - node á¡á¬ážáá¯á¶ážááœáẠááœá±áá±ážááœá±áá° á ááá ááák ááŸáá·áº ááá¯áááºáá»á¬áž áá«ááŸááááºá
03:35 â ááááºááá¯á·áá¶áá«áẠ9 ááᯠáááºááŸááºáá±ážááá¯ážááŒá®áž á¡ááŒá¬áž node áá»á¬ážááá¯á· ááá¬ážáááºááœáá·áºááŒá¯ááẠáá±ážááá¯á·áá¬ážáááºá
03:41 - ááœááºááẠá¡ááŸá¬ážááŒá
áºááœá¬ážáááºá
04:40 â ááááºááá¯á· #9 á¡áááºááŒá¯áá»ááºááᯠá
á±á¬áá·áºááá¯ááºážáááºáž á¡áá»áááºáá¯ááºááœá¬ážáá«ááŒá®á
04:54 â áá±ážááá¯á·ááẠnode ááẠáá±áá°ážáááºááŸáá»ááºááŸááá±á¬ 760k á¡áá±á¬ááºážá¡áááºáá»á¬ážááá¯áá°áᬠMerkle hash ááᯠááœááºáá»ááºááŒá®áž ááá¯ááºážáá¯ááºáá¶áá«áẠ9 ááá¯á
áááºáá²á·áááºá
05:32 â ááááºááá¯á·áá¶áá«áẠ9 ááᯠáááºááŸááºáá±ážááá¯ážááŒá®áž á¡ááŒá¬áž node áá»á¬ážááá¯á· ááá¬ážáááºááœáá·áºááŒá¯ááẠáá±ážááá¯á·áá¬ážáááºá
05:53 â block #9 ááᯠá¡áááºááŒá¯ááŒá®áž á¡ááŒá
áºááœááºážáááºááá¯á· áá±ážááá¯á·áááºá
06:17 - ááááºááá¯á·áá¶áá«áẠ9 ááᯠá¡ááŒá
áºááœááºážáááºááœáẠááá·áºááœááºážááŒá®áž 760k á¡áá±á¬ááºážá¡áááºááŒá¯áá¯ááºáá¬áááºáá°áá±á¬ ááááºážá¡áá»ááºá¡áááºááᯠáá¯á¶ááŸááºáá»á¬áž á
áááºáááºáá¶áááŸááá²á·áááºá
06:47 â áá±áá°ážáááºááẠáá¶áá«áẠá ááœááºááŸááá±á¬ ááœá±áá±ážááœá±áá°áá»á¬ážááᯠááŸááºážáááºážáá¬ážáááºá
09:06 - node á¡á¬ážáá¯á¶ážááœáẠááœá±áá±ážááœá±áá° 2 áááºážááŸáá·áº ááá¯áááºáá»á¬áž áá«ááŸááááºá
á ááºážáááºááŸá¯ á
áá áºáá¯á¶ážáá»áŸáẠ350k ááá·áºáááºáá»ááºááŸááá«áááºá ááááºá¡áá±áá²á· áá»áœááºáá±á¬áºááá¯á·ááŸá¬ áá¯ááºááœáẠá áá¯ááŸááááºá
áááŠážá¡ááŒá±á¡áá±- áá±á¬ááºáá¯á¶ážá¡ááœáẠ#9; ááœá±áá±ážááœá±áá° 2 áááºážááŸáá·áº ááá¯áááºáá»á¬ážááᯠáá±áá¬áá±á·á áºááœáẠááááºážáááºážáá¬ážáááºá
00:00 â ááœá±áá±ážááœá±áá°áá»áá¯ážááẠscript ááᯠá
áááºááŒá®ážááŒá
áºáááºá
00:44 - ááœáŸá²ááŒá±á¬ááºážááŸá¯ 1 áááºážááᯠáááºáá®ážááŒá®áž node ááá¯á· á
áááºáá±ážááá¯á·áá²á·áááºá
00:56 â áá±ážááá¯á·ááẠnode ááẠáá±áá°ážáááºá០á¡áá±á¬ááºážá¡áááºáá±á«ááºáž 320k ááá¯áá°áá²á·ááŒá®áž áá±á¬ááºáá»á¬ážááááºááá¯á·ááŒááºáž #10á 320k á¡áá±á¬ááºážá¡áááºáá»á¬ážááᯠ10 á
áá¹ááá·áºá¡ááœááºáž áá±áá°ážáááºááá¯á· áá±á«ááºážááá·áºáááºááá¯áááºáž áá»áœááºá¯ááºááá¯á·ááœá±á·ááŒááºááá«áááºá
01:12 â block #10 ááᯠáááºááŸááºáá±ážááá¯ážááŒá®áž á¡áááºááŒá¯áááºá¡ááœáẠá¡ááŒá¬áž node áá»á¬ážááá¯á· áá±ážááá¯á·áááºá
01:18 â ááá¯ááºááŒáá¬ááºááœáŸááºážááẠááŒá®ážáá¯á¶ážáá²á·ááŒá®áž áá á
áá¹ááá·áºá¡ááœááºáž ááœá±áá±ážááœá±áá° á áááºážááᯠáá±ážááá¯á·áá²á·áááºá
01:20 â block #10 ááᯠá¡áááºááŒá¯ááŒá®áž á¡ááŒá
áºááœááºážáááºááá¯á· áá±ážááá¯á·áááºá
01:51 - ááááºááá¯á·áá¶áá«áẠ10 ááá¯ááá·áºááœááºážááŒá®áž 320k á¡áá±á¬ááºážá¡áááºááŒá¯áá¯ááºááá·áº á¡ááŒá
áºááœááºážáááºá០á¡áá»ááºá¡áááºá¡á¬ážáá¯á¶ážááᯠáááºáá¶áááŸáááŒá®áž XNUMXk á¡áá±á¬ááºážá¡áááºáá»á¬áž á
áááºáááºá
02:01 - ááááºááá¯á· #320 ááœááºááá·áºáá¬ážáá±á¬ 10k á¡áá±á¬ááºážá¡áááºáá»á¬ážá¡ááœáẠáá±áá°ážáááºááŸááŸááºážáááºážááœá¬ážáááº
02:15 â submit node ááẠpool á០350k á¡áá±á¬ááºážá¡áááºááŒá¯áá¯ááºááŒá®áž forms block #11
02:34 â block #11 ááᯠáááºááŸááºáá±ážááá¯ážááŒá®áž á¡áááºááŒá¯áááºá¡ááœáẠá¡ááŒá¬áž nodeáá»á¬ážááá¯á· áá±ážááá¯á·áááºá
02:51 â block #11 ááᯠá¡áááºááŒá¯ááŒá®áž á¡ááŒá
áºááœááºážáááºááá¯á· áá±ážááá¯á·áááºá
02:55 â ááááºááá¯á·áá¶áá«áẠ10 á០áá±á¬ááºáá¯á¶áž node ááẠááœá±áá±ážááœá±áá°áá»á¬áž ááŒá®ážááœá¬ážáááºá
10:59 â block #9 ááááºááŒááŸá¯ááŸáá·áºá¡áá° ááœá±áá±ážááœá±áá°ááẠá¡áááºážááœááºážáááºááœáẠá¡áá»áááºá¡áá±á¬áºá¡áááºááŒá¬áá²á·áá±á¬áºáááºáž ááŒá®ážááŒá±á¬ááºáá²á·ááŒá®áž node áá»á¬ážá¡á¬ážáá¯á¶ážááẠáááºážááŸáá·áºáááºáááºááá·áºá¡áá»ááºá¡áááºáá»á¬ážááá¯áááºáá¶áááŸáááŒá®áž 350k á¡áá±á¬ááºážá¡áááºáá»á¬ážááá¯á
áááºáá¯ááºáá±á¬ááºáá²á·áááºá
11:05 - ááááºááá¯á· #320 ááœááºááá·áºáá¬ážáá±á¬ 11k á¡áá±á¬ááºážá¡áááºáá»á¬ážá¡ááœáẠáá±áá°ážáááºááŸááŸááºážáááºážááœá¬ážáááº
12:10 - node áá»á¬ážá¡á¬ážáá¯á¶ážááœáẠááœá±áá±ážááœá±áá° 1 ááá 670k ááŸáá·áº ááá¯áááºáá»á¬ážáá«ááŸááááºá
12:17 â submit node ááẠpool á០330k á¡áá±á¬ááºážá¡áááºááŒá¯áá¯ááºááŒá®áž forms block #12
12:32 â block #12 ááᯠáááºááŸááºáá±ážááá¯ážááŒá®áž á¡áááºááŒá¯áááºá¡ááœáẠá¡ááŒá¬áž nodeáá»á¬ážááá¯á· áá±ážááá¯á·áááºá
12:39 â block #12 ááᯠá¡áááºááŒá¯ááŒá®áž á¡ááŒá
áºááœááºážáááºááá¯á· áá±ážááá¯á·áááºá
13:44 - ááááºááá¯á·áá¶áá«áẠ12 ááá¯ááá·áºááœááºážááŒá®áž 330k á¡áá±á¬ááºážá¡áááºááŒá¯áá¯ááºááá·áº á¡ááŒá
áºááœááºážáááºá០áá¯á¶ááŸááºá¡á¬ážáá¯á¶ážá០ááááºážá¡áá»ááºá¡áááºááᯠáááŸááá²á·áááºá
14:50 - node á¡á¬ážáá¯á¶ážááœáẠááœá±áá±ážááœá±áá° 2 áááºážááŸáá·áº ááá¯áááºáá»á¬áž áá«ááŸááááºá
á ááºážáááºááŸá¯ á
áááááŸáá·áº áá¯ááá áá¬áá¬áá»á¬ážááœááºá ááŸááºáááºááá·áº áá¯ááºáá áºáá¯á¡á¬áž áááºááœááºážááá·áº áá¯ááºááŒáá·áº á¡á á¬ážááá¯ážáá²á·áááºá
áááŠážá¡ááŒá±á¡áá±- áá±á¬ááºáá¯á¶ážááááºááá¯á· #84; áá±áá¬áá±á·á áºááœáẠááááºážáááºážáá¬ážáá±á¬ áááºááœá±áá»á¬ážááŸáá·áº ááá¯áááºáá»á¬áž
00:00 â áá
áºáá¯áá»áŸáẠááœá±áá±ážááœá±áá° 3 áááºážááᯠáá¯ááºáá¯ááºááŒá®áž áá±ážááá¯á·ááá·áº script 1 áá¯ááᯠá
áááºááá¯ááºáá«ááŒá®á
01:38 â ááœáŸá²ááŒá±á¬ááºážááŸá¯ 1 áááºážááᯠáááºáá®ážááŒá®áž node #3 ááᯠá
áááºáááºááœááºážááẠáá±ážááá¯á·áá²á·áááºá
01:50 â áá±ážááá¯á·ááẠnode áá¶áá«áẠ3 ááẠáá±áá°ážáááºá០ááœá±áá±ážááœá±áá° 330k ááᯠááá°ááŒá®áž áá¯á¶á
á¶áá»á¬áž ááááºááá¯á·ááŒááºáž #85 (f21)á 350k á¡áá±á¬ááºážá¡áááºáá»á¬ážááᯠ10 á
áá¹ááá·áºá¡ááœááºáž áá±áá°ážáááºááá¯á· áá±á«ááºážááá·áºáááºááá¯áááºáž áá»áœááºá¯ááºááá¯á·ááœá±á·ááŒááºááá«áááºá
01:53 â ááœáŸá²ááŒá±á¬ááºážááŸá¯ 1 áááºážááᯠáááºáá®ážááŒá®áž node #1 ááᯠá
áááºáááºááœááºážááẠáá±ážááá¯á·áá²á·áááºá
01:50 â áá±ážááá¯á·ááẠnode áá¶áá«áẠ3 ááẠáá±áá°ážáááºá០ááœá±áá±ážááœá±áá° 330k ááᯠááá°ááŒá®áž áá¯á¶á
á¶áá»á¬áž ááááºááá¯á·ááŒááºáž #85 (f21)á 350k á¡áá±á¬ááºážá¡áááºáá»á¬ážááᯠ10 á
áá¹ááá·áºá¡ááœááºáž áá±áá°ážáááºááá¯á· áá±á«ááºážááá·áºáááºááá¯áááºáž áá»áœááºá¯ááºááá¯á·ááœá±á·ááŒááºááá«áááºá
02:01 â áá±ážááá¯á·ááẠnode #1 ááẠáá±áá°ážáááºá០ááœá±áá±ážááœá±áá° 250k ááᯠááá°ááŒá®áž áá±á¬ááºáá»á¬áž ááááºááá¯á·ááŒááºáž #85 (65e)
02:06 â ááááºááá¯á· #85 (f21) ááᯠáááºááŸááºáá±ážááá¯ážááŒá®áž á¡áááºááŒá¯áááºá¡ááœáẠá¡ááŒá¬áž node ááá¯á· áá±ážááá¯á·áááº
02:08 â á
áá¹ááá·áº 3 á¡ááœááºáž ááœá±áá±ážááœá±áá° 1 áááºážááᯠáá±ážááá¯á·áá²á·áá±á¬ áá¬áᬠ#30 áááá¯ááºáጠscript ááẠá¡áá¯ááºááŒá®ážááœá¬ážáááº
02:14 â ááááºááá¯á· #85 (f21) ááᯠá¡áááºááŒá¯ááŒá®áž á¡ááŒá
áºááœááºážáááºááá¯á· áá±ážááá¯á·áááºá
02:19 â ááááºááá¯á· #85 (65e) ááᯠáááºááŸááºáá±ážááá¯ážááŒá®áž á¡áááºááŒá¯áááºá¡ááœáẠá¡ááŒá¬áž node ááá¯á· áá±ážááá¯á·áááº
02:22 â ááœáŸá²ááŒá±á¬ááºážááŸá¯ 1 áááºážááᯠáááºáá®ážááŒá®áž node #2 ááᯠá
áááºáááºááœááºážááẠáá±ážááá¯á·áá²á·áááºá
02:27 â block #85 (65e) ááᯠá¡áááºááŒá¯ááŒá®áž á¡ááŒá
áºááœááºážáááºááá¯á· ááá¯á·ááá¯ááºáááºá
02:29 â áá±ážááá¯á·ááẠnode áá¶áá«áẠ2 ááẠáá±áá°ážáááºá០ááœá±áá±ážááœá±áá° 111855 ááᯠááá°ááŒá®áž forms block #85 (256)á
02:36 â ááááºááá¯á· #85 (256) ááᯠáááºááŸááºáá±ážááá¯ážááŒá®áž á¡áááºááŒá¯áááºá¡ááœáẠá¡ááŒá¬áž node ááá¯á· áá±ážááá¯á·áááº
02:36 â á
áá¹ááá·áº 1 á¡ááœááºáž ááœá±áá±ážááœá±áá° 1 áááºážááᯠáá±ážááá¯á·áá²á·áá±á¬ áá¬áᬠ#42.5 áááá¯ááºáጠscript ááẠá¡áá¯ááºááŒá®ážááœá¬ážáááº
02:38 â ááááºááá¯á· #85 (256) ááᯠá¡áááºááŒá¯ááŒá®áž á¡ááŒá
áºááœááºážáááºááá¯á· áá±ážááá¯á·áááºá
03:08 â áá¬áá¬áá¶áá«áẠ2 áá¬ááºááœáŸááºážááẠá¡áá¯ááºááŒá®ážááœá¬ážáᬠ1 á
áá¹ááá·áºá¡ááœááºáž ááœá±áá±ážáá»á±ááŸá¯ 47 áááºážááᯠáá±ážááá¯á·áá²á·áááºá
03:38 - #85 (f21)á #86(65e)á #87(256) ááᯠááááºááá¯á·áá¬ážááá·áº á¡ááŒá
áºááœááºážáááºá០á¡áá»ááºá¡áááºá¡á¬ážáá¯á¶ážááᯠáááºáá¶áááŸáááŒá®áž 330ká 250ká 111855 á¡áá±á¬ááºážá¡áááºáá»á¬ážááᯠá
áááºá¡áá¯á¶ážááŒá¯áá²á·áááºá
03:49 - ááááºááá¯á· #330 (f250), #111855(85e), #21(86) ááœáẠááá·áºáá¬ážáá±á¬ 65ká 87ká 256 ááŒáá·áº ááœá±áá±ážááœá±áá°ááᯠááŸááºážáá¯ááºáá²á·áá«áááºá
03:59 â submit node #1 ááẠpool á០ááœá±áá±ážááœá±áá°áá±á«ááºáž 888145 ááᯠááá°ááŒá®áž forms block #88 (214)á submit node #2 ááẠpool á០750k á¡áá±á¬ááºážá¡áááºááŒá¯áá¯ááºááŒá®áž forms block #88 (50a)á submit node #3 á០670k á¡áá±á¬ááºážá¡áááºááŒá¯áá¯ááºáá²á·áá«áááºá áá±áá°ážáááºááŸáá·áº áá±á¬ááºáá¯á¶áž #88 (d3b)
04:44 â ááááºááá¯á· #88 (d3b) ááᯠáááºááŸááºáá±ážááá¯ážááŒá®áž á¡áááºááŒá¯áááºá¡ááœáẠá¡ááŒá¬áž node ááá¯á· áá±ážááá¯á·áááº
04:58 â ááááºááá¯á· #88 (214) ááᯠáááºááŸááºáá±ážááá¯ážááŒá®áž á¡áááºááŒá¯áááºá¡ááœáẠá¡ááŒá¬áž node ááá¯á· áá±ážááá¯á·áááº
05:11 â block #88 (50a) ááᯠáááºááŸááºáá±ážááá¯ážááŒá®áž á¡áááºááŒá¯áááºá¡ááœáẠá¡ááŒá¬áž node áá»á¬ážááá¯á· ááá¯á·ááá¯ááºáááº
05:11 â ááááºááá¯á· #85 (d3b) ááᯠá¡áááºááŒá¯ááŒá®áž á¡ááŒá
áºááœááºážáááºááá¯á· áá±ážááá¯á·áááºá
05:36 â ááááºááá¯á· #85 (214) ááᯠá¡áááºááŒá¯ááŒá®áž á¡ááŒá
áºááœááºážáááºááá¯á· áá±ážááá¯á·áááºá
05:43 - #88 (d3b)á #89(214) ááᯠááááºááá¯á·áá¬ážááá·áº á¡ááŒá
áºááœááºážáááºá០á¡áá»ááºá¡áááºá¡á¬ážáá¯á¶ážááᯠáááºáá¶áááŸáááŒá®áž 670ká 750k á¡áá±á¬ááºážá¡áááºáá»á¬ážááᯠá
áááºá¡áá¯á¶ážááŒá¯áá±ááŒá®ááŒá
áºáááºá
06:50 â áááºááœááºáá±áž áá»áá¯á·ááœááºážááŸá¯ááŒá±á¬áá·áº ááááºááá¯á· #85 (50a) ááᯠá¡áááºááŒá¯ááá¬ážáá«á
06:55 â áá±ážááá¯á·ááẠnode #2 ááẠáá±áá°ážáááºá០ááœá±áá±ážááœá±áá° 888145 ááᯠááá°ááŒá®áž áá¯á¶á
ᶠ90 (50a)
08:14 â block #90 (50a) ááᯠáááºááŸááºáá±ážááá¯ážááŒá®áž á¡áááºááŒá¯áááºá¡ááœáẠá¡ááŒá¬áž node áá»á¬ážááá¯á· ááá¯á·ááá¯ááºáááº
09:04 â ááááºááá¯á· #90 (50a) ááᯠá¡áááºááŒá¯ááŒá®áž á¡ááŒá
áºááœááºážáááºááá¯á· áá±ážááá¯á·áááºá
11:23 - ááááºááá¯á· #90 (50a) ááᯠááá·áºááœááºážáá¬ážááá·áº á¡ááŒá
áºááœááºážáááºá០á¡áá»ááºá¡áááºá¡á¬ážáá¯á¶ážááᯠáááŸáááŒá®áž 888145 á¡áá±á¬ááºážá¡áááºáá»á¬ážááᯠá
áááºá¡áá¯á¶ážááŒá¯áá«á áá
áºáá»áááºáááºážááŸá¬áááºá áá¬áᬠ#3 ááẠblocks #88 (d3b)á #89(214) á០ááœá±áá±ážááœá±áá°áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áá¬ážááŒá®ážááŒá
áºáááº
12:11 - áá±áááºáá»á¬ážá¡á¬ážáá¯á¶áž ááœááºáá±áá«áááºá
13:41 â áá¬áᬠ#3 á node á¡á¬ážáá¯á¶ážááœáẠááœá±áá±ážááœá±áá° 3 áááºážááŸáá·áº ááá¯áááºáá»á¬áž áá«ááŸááááºá
14:35 â áá¬áᬠ#1 á node á¡á¬ážáá¯á¶ážááœáẠááœá±áá±ážááœá±áá° 3 áááºážááŸáá·áº ááá¯áááºáá»á¬áž áá«ááŸááááºá
19:24 â áá¬áᬠ#2 á node á¡á¬ážáá¯á¶ážááœáẠááœá±áá±ážááœá±áá° 3 áááºážááŸáá·áº ááá¯áááºáá»á¬áž áá«ááŸááááºá
á¡áá¬ážá¡áá®ážáá»á¬áž
Plasma Cash áááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯á¡ááœááºážá áá»áœááºá¯ááºááá¯á·ááẠááŒááºážááŒááºážáá»ááºážááŒá±ááŸááºážááŒá®áž ááŒá±ááŸááºážáá±áá±á¬ á¡á±á¬ááºáá«ááŒá¿áá¬áá»á¬ážááᯠááŒá¯á¶ááœá±á·áá²á·ááááº-
1. á¡áá»áá¯ážáá»áá¯ážáá±á¬á áá áºáá¯ááºáá±á¬ááºáá»ááºáá»á¬ážáá¡ááŒááºá¡ááŸááºááœááºáááááá¹áá á¥ááá¬á¡á¬ážááŒáá·áºá áá±áá°ážáááºááœáẠááœá±áá±ážááœá±áá°áá»á¬ážááá·áºááŒááºážááá¯ááºáá±á¬ááºáá»ááºááẠáá¯ááºááœááºáá»á¬ážáááºááœááºážááŒááºážááŸáá·áº ááŸááºáááºááŒá±á¬ááºážá¡áááºááŒá¯ááŒááºážáá¯ááºáááºážááᯠááááºááá¯á·á á±ááŒá®áž á¡ááŸáááºáá»áááºážááœá¬ážá á±áááºá
2. áá±áá¬ááœáŸá²ááŒá±á¬ááºážááŸá¯áá¯ááºáá»á ááááºááᯠáá»áŸá±á¬á·áá»áá±á áẠáá»á¬ážááŒá¬ážááŸáá±á¬ ááœá±áá±ážááœá±áá°ááá¬áááᯠáááºááá¯á·áá±ážááá¯á·ááááºááᯠáá»ááºáá»ááºážááŸááºážáááºážá áœá¬ áááááá±ážáá«á
3. ááŒáá·áºáá¬ážáá±á¬ááááºáá»á¬ážáááŸáááẠáá±áá¬ááᯠáááºááá·áºáá±áá¬ááœáẠááááºážáááºážááááºááᯠáááŸááºážáááºážáá«á
4. ááœá±áá±ážááœá±áá° 1 áááºážááŸááá±á¬ ááá±á¬ááºáá áºáá¯áá¡ááœááºá¡á á¬ážááẠ100 MB ááá·áºáá±áá¬áá°áá±á¬ááŒá±á¬áá·áº node áá»á¬ážááŒá¬ážááœáẠááœááºáááºáá áºáá¯ááᯠáááºááá¯á·á á¯á ááºážááááºááᯠááŸááºážááŸááºážáááºážáááºážáááááá±ážáá«á
5. single-threaded áá¯ááºááœáẠá¡áá¯ááºáá¯ááºááŒááºážááẠááŸááºáá»á¬ážáá±á¬ ááœááºáá»ááºááŸá¯áá»á¬áž ááŒá áºáá±á«áºáá¬áá±á¬á¡áá« (á¥ááá¬á Merkle áá áºáááºááᯠáááºáá±á¬ááºááŒááºážááŸáá·áº áááºážá hash ááœááºáá»ááºááŒááºáž) á¡ááŒá¬áž áá»áááºáááºááŸá¯ááᯠááŒááºáá±á¬ááºáá±ážáá«áááºá
á€á¡áá¬á¡á¬ážáá¯á¶ážááᯠáá»áœááºá¯ááºááá¯á· áááºááá¯á·ááŒá±ááŸááºážáá²á·ááááºážá
Plasma Cash node á ááááá¬ážááŸááºážááẠáá áºáá»áááºáááºážááœáẠá¡áá¬á¡á¬ážáá¯á¶ážááᯠáá¯ááºáá±á¬ááºááá¯ááºááá·áº áá±á«ááºážá ááºáá áºáá»áá¯ážááŒá áºáááº- ááœá±áá±ážááœá±áá°áá»á¬ážááᯠáááºáá¶ááŒááºážá ááááºááá¯á·ááŒááºážáá»á¬ážááᯠáááºááœááºážááŒááºážááŸáá·áº á¡áááºááŒá¯ááŒááºážááŸáá·áº áá±áá¬áááºáá±á¬ááºááŒááºážá¡ááœáẠAPI ááᯠáá¶á·ááá¯ážáá±ážááŒááºážá NodeJS ááẠáá°ááááºážááŒá áºáá áºáá¯áááºáž-áá»ááºáá»áŸááºááŒá áºáá±á¬ááŒá±á¬áá·áºá áá±ážáá¶áá±á¬ Merkle áá áºááẠááœááºáá»ááºááŸá¯áá¯ááºáá±á¬ááºáá»ááºááẠáá±á«ááºážááá·áºááœá±áá±ážááœá±áá°áá¯ááºáá±á¬ááºáá»ááºááᯠááááºááá¯á·áá²á·áááºá á€ááŒá¿áá¬ááá¯ááŒá±ááŸááºážááẠááœá±ážáá»ááºá áá¬ááŸá áºáá¯ááᯠáá»áœááºá¯ááºááá¯á·ááœá±á·áá²á·ááááº-
1. NodeJS áá¯ááºáááºážá ááºáá»á¬ážá áœá¬ááᯠá áááºáá«á áá áºáá¯á á®ááẠáá®ážááŒá¬ážáá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠáá¯ááºáá±á¬ááºáááºá
2. worker_threads ááá¯áá¯á¶ážá áá¯ááºáá¡á áááºá¡ááá¯ááºážááá¯ááºáá±á¬ááºááŸá¯ááᯠá á¬ááœá²áá»á¬ážá¡ááŒá ẠááœáŸá±á·áá«á
ááááºá¡áá±ááŒáá·áºá áá»áœááºá¯ááºááá¯á·ááẠááœá±ážáá»ááºá áá¬ááŸá áºáá¯áá¯á¶ážááᯠáá áºáá»áááºáááºážááœáẠá¡áá¯á¶ážááŒá¯áá²á·áááº- áá»áœááºá¯ááºááá¯á·ááẠáá®ážááŒá¬ážá á®áá¯ááºáá±á¬ááºááá¯ááºáá±á¬ node áá áºáá¯ááᯠá¡ááá¯ááºáž 3 áá¯á¡ááŒá Ạáá¯áá¹áááááºážáá»áá» ááá¯ááºážááŒá¬ážáá¬ážáá±á¬áºáááºáž áá áºáá»áááºáááºážááœáẠáá áºááŒáá¯ááºáááºáááºáž áá¯ááºáá±á¬ááºááá¯ááºáááº
1. áá±áá°ážáááºááá¯á· ááœá±áá±ážááœá±áá°áá»á¬ážááᯠáááºáá¶ááŒá®áž ááá±á¬ááºáá»á¬ážááᯠáááºáá®ážáá±ážááá·áº áááºááœááºážááŸá¯ Nodeá
2. node áá»á¬ážáááá¬ážáááºááŸá¯ááá¯á á áºáá±ážáá±á¬ validating node áá áºáá¯á
3. API node - áá±áá¬ááá°áááºá¡ááœáẠAPI ááᯠáá¶á·ááá¯ážáá±ážáááºá
á€ááá á¹á ááœááºá áááºááẠcli ááᯠá¡áá¯á¶ážááŒá¯á unix socket ááŸáááá·áº node áá áºáá¯á á®ááá¯á· áá»áááºáááºááá¯ááºáááºá
Merkle áá áºáááºááᯠááœááºáá»ááºááŒááºážáá²á·ááá¯á·áá±á¬ áá±ážáá¶áá±á¬áá¯ááºáá±á¬ááºááŸá¯áá»á¬ážááᯠáá®ážááŒá¬ážááŒáá¯ážáá áºáá¯á¡ááŒá áºááá¯á· ááœáŸá±á·áá¬ážáá«áááºá
ááá¯á·ááŒá±á¬áá·áºá áá»áœááºá¯ááºááá¯á·ááẠPlasma Cash áá¯ááºáá±á¬ááºáá»ááºá¡á¬ážáá¯á¶ážááᯠáááŒáá¯ááºááẠáá»ááºááœááºááŒááºážáááŸááá² áá¯á¶ááŸááºáá¯ááºáá±á¬ááºááá¯ááºáá²á·áá«áááºá
á áá áºá¡áá¯ááºáá¯ááºááŒá®ážáááºááŸáá·áºá áá»áœááºá¯ááºááá¯á·ááẠá¡ááŒááºááŸá¯ááºážááᯠá áááºá ááºážáááºáá²á·ááŒá®áž áá¶ááá±á¬ááºážá áœá¬áá²á áá áºá áá¹ááá·áºáá»áŸáẠááœá±áá±ážááœá±áá° á ááá ááŸáá·áº áá áºáá¯á¶ážáá»áŸáẠááœá±ááœáŸá²á 5 á¡áá áááŸááá²á·áááºá ááœá²ááŸá¬ážá áœá¬ á¡áá±á¬ááºá¡áááºáá±á¬áºáá²á·áá¬ááœá±ááᯠá¡ááŒá±ááŸá¬áá²á·ááááºá
á áááºáááºá áá»áœááºá¯ááºááá¯á·ááẠá áá áºá á¡ááœááºá¡áááẠá áœááºážáá±á¬ááºáááºááᯠááááŸáááá¯ááºááẠPlasma Cash ááŸáá·áº áááºááœááºááŸá¯ ááá¹ááá¬ážááᯠá áááºá ááºážáááºáá²á·áá«áááºá Plasma Cash node ááẠunix socket interface ááᯠáá±á¬ááºáá¶á·áá±ážááŒá±á¬ááºáž á¡á á±á¬ááá¯ááºážá áá±ážáá¬ážáá²á·áááºá á¡á ááá±á¬á· á á¬áá¬ážááᯠá¡ááŒá±áá¶áá¬ážáá¬áá«á json á¡áá¬ááá¹áá¯áá»á¬ážááᯠ`JSON.parse()` ááŸáá·áº `JSON.stringify()` ááá¯á·ááᯠá¡áá¯á¶ážááŒá¯á áá±ážááá¯á·áá²á·áááºá
```json
{
"action": "sendTransaction",
"payload":{
"prevHash": "0x8a88cc4217745fd0b4eb161f6923235da10593be66b841d47da86b9cd95d93e0",
"prevBlock": 41,
"tokenId": "57570139642005649136210751546585740989890521125187435281313126554130572876445",
"newOwner": "0x200eabe5b26e547446ae5821622892291632d4f4",
"type": "pay",
"data": "",
"signature": "0xd1107d0c6df15e01e168e631a386363c72206cb75b233f8f3cf883134854967e1cd9b3306cc5c0ce58f0a7397ae9b2487501b56695fe3a3c90ec0f61c7ea4a721c"
}
}
```
áá»áœááºá¯ááºááá¯á·ááẠááá¯á¡áá¬ááá¹áá¯áá»á¬ážá ááœáŸá²ááŒá±á¬ááºážá¡ááŒááºááŸá¯ááºážááᯠááá¯ááºážáá¬ááŒá®áž áá áºá áá¹ááá·áºáá»áŸáẠ~ 130k ááᯠááœá±á·ááŸááá²á·áááºá json ááŸáá·áºá¡áá¯ááºáá¯ááºáááºá¡ááœáẠá á¶áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠá¡á á¬ážááá¯ážááẠáá»áœááºá¯ááºááá¯á·ááŒáá¯ážá á¬ážáá²á·áá±á¬áºáááºáž á áœááºážáá±á¬ááºáááºááŸá¬ áááá¯ážáááºáá²á·áá«á á€áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážá¡ááœáẠV8 á¡ááºáá»ááºááᯠáá±á¬ááºážááœááºá áœá¬ ááŒá¯ááŒááºááá«áááºá
áá»áœááºá¯ááºááá¯á·ááẠá¡áááºážáá»á¬ážááŸáá áºááá·áº ááœá±áá±ážááœá±áá°áá»á¬ážá ááá¯áááºáá»á¬ážááŸáá·áº ááá±á¬ááºáá»á¬ážááŸáá·áºá¡áá° áá¯ááºáá±á¬ááºáá²á·áááºá ááá¯ááá¯á·áá±á¬á¡áááºážáá»á¬ážááá¯áááºáá®ážááá·áºá¡áá« OOP ááẠáá»áœááºá¯ááºááá¯á·á¡ááœáẠáááá·áºáá»á±á¬áºááŒá±á¬ááºáž ááœáŸááºááŒáá±á¬ á áœááºážáá±á¬ááºááẠ2 á áá»áááºážááœá¬ážáááºá á¡áá¬á¡á¬ážáá¯á¶ážááᯠáááºáááºáááºááẠáá¯ááºáá±á¬ááºáá²á· áá»ááºážáááºááŸá¯áá áºáá¯á¡ááŒá ẠááŒááºáá±ážáá²á·ááááºá
áá±áá¬áá±á·á áºááœááºááŸááºáááºážáááºááŒááºážá
á¡á ááá¯ááºážááœááºá Redis ááẠáá»áœááºá¯ááºááá¯á·áááá¯á¡ááºáá»ááºáá»á¬ážááᯠááŒáá·áºáááºážáá±ážááá·áº á¡áááá±á¬ááºáá¯á¶ážááŒá±ááŸááºážáá»ááºáá áºáá¯á¡ááŒá Ạáá±áá¬ááá¯ááŸá±á¬ááºááŸá¯á¡ááœáẠááœá±ážáá»ááºáá¶áá²á·ááááº- áá±á¬á·áááºááá¯ážááá¯ááŸá±á¬ááºááŸá¯á hash tablesá sets áá»á¬ážááŸáá·áºá¡áá¯ááºáá¯ááºáááºá áá»áœááºá¯ááºááá¯á·ááẠredis-benchmark ááᯠá áááºáá²á·ááŒá®áž 80 ááá¯ááºááá¯ááºážáá¯ááºááœáẠáá áºá áá¹ááá·áºáá»áŸáẠ~ 1k áááºáááºááŸá¯áá»á¬áž áááŸááá²á·áááºá
ááŒáá·áºáá¬ážáá±á¬á áœááºážáá±á¬ááºáááºá¡ááœááºá áá»áœááºá¯ááºááá¯á·ááẠRedis ááᯠááá¯ááá¯áááá»á áœá¬ áá»áááºááŸááá¬ážáááº-
- unix socket áá»áááºáááºááŸá¯áá áºáá¯ááᯠáááºáá±á¬ááºááŒá®ážáá«ááŒá®á
- áá»áœááºá¯ááºááá¯á·ááẠá¡ááŒá±á¡áá±á¡á¬áž áá áºááœááºááááºážáááºážááŒááºážááᯠááááºáá¬ážááẠ(áá¯á¶ááŒááºá áááºáá»áááŸá¯á¡ááœááºá áááºááẠáá¯á¶áá°áá áºáá¯áááºáá±á¬ááºááŒá®áž áá®ážááŒá¬áž Redis ááœáẠdisk ááá¯á·ááááºážáááºážááá¯ááºáááº)á
Redis ááœááºá áá±áá°ážáááºááẠhash table áá áºáá¯ááŒá áºááŒá®áž áá»áœááºá¯ááºááá¯á·ááẠá á¯á¶á ááºážáá±ážááŒááºážááŸá¯áá áºáá¯ááœáẠááœá±áá±ážááœá±áá°á¡á¬ážáá¯á¶ážááᯠááŒááºáááºááá°áááºááŸáá·áº áá áºáá¯ááŒá®ážáá áºáᯠááœáŸá²ááŒá±á¬ááºážááŸá¯áá»á¬ážááᯠáá»ááºááẠááá¯á¡ááºáá±á¬ááŒá±á¬áá·áºááŒá áºáááºá áá»áœááºá¯ááºááá¯á·ááẠáá¯á¶ááŸááºá á¬áááºážááᯠá¡áá¯á¶ážááŒá¯ááẠááŒáá¯ážá á¬ážáá±á¬áºáááºáž á á¬áááºážáá áºáá¯áá¯á¶ážááᯠááŒááºááœáá·áºáá±á¬á¡áá«ááœáẠááŸá±ážááœá±ážáá«áááºá
á ᶠNodeJS ááá¯á¡áá¯á¶ážááŒá¯áá±á¬á¡áá«á Redis á á¬ááŒáá·áºááá¯ááºáá»á¬ážááẠáá áºá áá¹ááá·áºáá»áŸáẠ18k á¡áá±á¬ááºážá¡áááºááŒá¯áá¯ááºááŸá¯áá áœááºážáá±á¬ááºáááºááá¯áááŸááá²á·áááºá á¡ááŸáááºá á á áá»áááºážááœá¬ážáááºá
á á¶áááºááŸááºáá»ááºááẠááŒá áºááá¯ááºááŒá±áá»á¬ážááᯠááŸááºážááŸááºážáááºážáááºáž 5 á ááá¯ááŒá®ážáááºááᯠááŒááá±á¬ááŒá±á¬áá·áºá áá»áœááºá¯ááºááá¯á·ááẠá¡áá±á¬ááºážáá¯á¶ážááŒá áºá¡á±á¬ááºáá¯ááºáá²á·áááºá áá»áœááºá¯ááºááá¯á·ááẠá á¬ááŒáá·áºááá¯ááºááᯠioredis á¡ááŒá áºááŒá±á¬ááºážááŒá®áž áá áºá áá¹ááá·áºáá»áŸáẠ25k ááŸá¯ááºážááŒáá·áº á áœááºážáá±á¬ááºááá¯ááºáá²á·áááºá `hset` á¡áááá·áºááᯠá¡áá¯á¶ážááŒá¯á ááœá±áá±ážááœá±áá°áá»á¬ážááᯠáá áºáá¯ááŒá®ážáá áºáᯠáá±á«ááºážááá·áºáá«áááºá ááá¯á·ááŒá±á¬áá·áº áá»áœááºá¯ááºááá¯á·ááẠRedis ááœáẠáá±ážááœááºážáá»á¬ážá áœá¬ááᯠáááºáá®ážáá±áá«áááºá ááœá±áá±ážááœá±áá°áá»á¬ážááᯠá¡á á¯á¡áá±ážáá»á¬ážá¡ááŒá Ạáá±á«ááºážá ááºáᬠ`hmset` áá áºáá¯áááºážááŒáá·áº áá±ážááá¯á·ááẠá áááºáá°ážáá±á«áºáá¬áááºá ááááºááẠáá áºá áá¹ááá·áºáá»áŸáẠ32k ááŒá áºáááºá
á¡á±á¬ááºááœááºáá±á¬áºááŒáá¬ážáá±á¬ á¡ááŒá±á¬ááºážáááºážáá»á¬ážá áœá¬á¡ááœááºá áá»áœááºá¯ááºááá¯á·ááẠ`Buffer` ááá¯á¡áá¯á¶ážááŒá¯á áá±áá¬ááŒáá·áºá¡áá¯ááºáá¯ááºááŒá®áž áááºážááᯠá á¬áá¬áž (`buffer.toString('hex')`) ááá¯á· ááá±ážáá®ááœáẠá¡ááá¯áááºáá±á¬ááºážáááá¯ááºááẠá á áœááºážáá±á¬ááºáááºá ááá¯á·ááŒá±á¬áá·áº áá áºá áá¹ááá·áºáá»áŸáẠ35k á¡áá á¡ááŸáááºááŒáŸáá·áºáá²á·áááºá áá±á¬áá±á¬áááºááœááºá áá»áœááºá¯ááºááá¯á·ááẠáá±á¬ááºááẠoptimization ááᯠáááºááá¯ááºážááẠáá¯á¶ážááŒááºáá²á·áááºá
áá»áœááºá¯ááºááá¯á·ááẠbinary protocol ááá¯á·ááŒá±á¬ááºážááá±á¬ááŒá±á¬áá·áº-
1. á áá áºááẠáááŒá¬áá áááºááŸáºáá»á¬ážá áááºááŸááºáá»á¬áž á áááºááá¯á·ááᯠááœááºáá»ááºááŒá®áž áááºážá¡ááœáẠ`Buffer ááœáẠáá±áᬠááá¯á¡ááºáááºá
2. áááºáá±á¬ááºááŸá¯áá»á¬ážááŒá¬ážááœáẠáá±ážááá¯á·ááá·áºá¡áá«á ááœááá±áá¬ááẠá á¬áá¬ážááẠá¡áá±ážáá»áááºáááºážáááºá á¥ááá¬á¡á¬ážááŒáá·áºá ááœá±áá±ážááœá±áá° á áááºážááŒáá·áº ááá±á¬ááºáá áºáá¯ááᯠááá¯á·áá±á¬á¡áá«á á á¬áá¬ážáá«áá±áá¬ááẠ1 megabytes áááºááá¯áá°ááá¯ááºáááºá
3. áá±áá¬ááᯠá¡áááºáááŒááºááŒá±á¬ááºážáá²ááŒááºážááẠá áœááºážáá±á¬ááºáááºá¡áá±á«áº áááºáá±á¬ááºááŸá¯ááŸááááºá
ááá¯á·ááŒá±á¬áá·áºá áá»áœááºá¯ááºááá¯á·ááẠá¡á¶á·ááŒááœááºáá±á¬ááºážáá±á¬ `binary-data` á á¬ááŒáá·áºááá¯ááºááᯠá¡ááŒá±áá¶á áá®ááœááºáá¬ážááá·áº áá»áœááºá¯ááºááá¯á·áááá¯ááºááá¯áẠááœááááá¯ááá¯áá±á¬ááᯠááááºážáááºážááŒááºážááŸáá·áº ááá¯á·ááœáŸááºááŒááºážá¡ááœáẠá¡ááŒá±áá¶á¡ááŒá Ạáá°áá²á·áááºá
ááááºá¡áá±ááŒáá·áºá áá»áœááºá¯ááºááá¯á·ááẠá¡á±á¬ááºáá«áá±áá¬ááœá²á·á ááºážáá¯á¶áá»á¬ážááᯠáááŸááá²á·áá«áááºá
- ááœá±áá±ážááœá±áá°
```json
{
prevHash: BD.types.buffer(20),
prevBlock: BD.types.uint24le,
tokenId: BD.types.string(null),
type: BD.types.uint8,
newOwner: BD.types.buffer(20),
dataLength: BD.types.uint24le,
data: BD.types.buffer(({current}) => current.dataLength),
signature: BD.types.buffer(65),
hash: BD.types.buffer(32),
blockNumber: BD.types.uint24le,
timestamp: BD.types.uint48le,
}
```
- áááºá¹áá±á
```json
{
id: BD.types.string(null),
owner: BD.types.buffer(20),
block: BD.types.uint24le,
amount: BD.types.string(null),
}
```
- ááááºááá¯á·ááŒááºážá
```json
{
number: BD.types.uint24le,
merkleRootHash: BD.types.buffer(32),
signature: BD.types.buffer(65),
countTx: BD.types.uint24le,
transactions: BD.types.array(Transaction.Protocol, ({current}) => current.countTx),
timestamp: BD.types.uint48le,
}
```
`BD.encode(block, Protocol).slice();` ááŸáá·áº `BD.decode(buffer, Protocol)` ááá¯á·ááŒáá·áº áá»áœááºá¯ááºááá¯á·ááẠáá±áá¬á¡á¬áž Redis ááœáẠááááºážáááºážááẠááá¯á·ááá¯áẠá¡ááŒá¬áž node ááá¯á· áááºááá·áºáá±ážááá¯á·áááºááŸáá·áº ááŒááºáááºááá°áááºá¡ááœáẠ`Buffer` ááá¯á· ááŒá±á¬ááºážáá²áá±ážáá«áááºá data ááœá±ááᯠááŒááºáá±ážáááºá
áááºáá±á¬ááºááŸá¯áá»á¬ážá¡ááŒá¬áž áá±áá¬ááœáŸá²ááŒá±á¬ááºážááŒááºážá¡ááœáẠbinary protocol 2 áá¯áááºáž ááŸááá«áááºá
- Unix socket ááŸáá áºááá·áº Plasma Node ááŸáá·áº á¡ááŒááºá¡ááŸááºáááºáá¶áááºá¡ááœáẠáááá¯ááá¯áá±á¬
```json
{
type: BD.types.uint8,
messageId: BD.types.uint24le,
error: BD.types.uint8,
length: BD.types.uint24le,
payload: BD.types.buffer(({node}) => node.length)
}
```
áááºááŸá¬:
- `á¡áá»áá¯ážá¡á á¬áž` - áá¯ááºáá±á¬ááºáááá·áºáá¯ááºáá±á¬ááºáá»ááºá á¥ááá¬á 1 â sendTransactioná 2 â getTransaction;
- `áááºáá±á¬ááºá` â ááá·áºáá»á±á¬áºáá±á¬áá¯ááºáá±á¬ááºáá»ááºááá¯á· áá±ážááá¯á·áááºááá¯á¡ááºáá±á¬áá±áá¬á
- `messageId` â áá¯á¶á·ááŒááºááŸá¯ááᯠáá±á¬áºáá¯ááºááá¯ááºá á±ááẠáááºáá±á·ááºá»á¡áá¯ááºáá®á
- node áá»á¬ážááŒá¬áž á¡ááŒááºá¡ááŸááºá¡áá»áá¯ážáááºáá±á¬ááºááŸá¯á¡ááœáẠáááá¯ááá¯áá±á¬
```json
{
code: BD.types.uint8,
versionProtocol: BD.types.uint24le,
seq: BD.types.uint8,
countChunk: BD.types.uint24le,
chunkNumber: BD.types.uint24le,
length: BD.types.uint24le,
payload: BD.types.buffer(({node}) => node.length)
}
```
áááºááŸá¬:
- `áá¯ááº` â áááºáá±á·áá»áºáá¯ááºá á¥ááᬠ6 â PREPARE_NEW_BLOCKá 7 â BLOCK_VALIDá 8 â BLOCK_COMMIT;
- `áá¬ážááŸááºážáááá¯ááá¯áá±á¬` â áááá¯ááá¯áá±á¬áá¬ážááŸááºážá ááá°áá®áá±á¬áá¬ážááŸááºážáá»á¬ážáá«ááŸááá±á¬ node áá»á¬ážááᯠnetwork áá±á«áºááœááºáááºááá¯ááºááŒá®áž ááœá²ááŒá¬ážá áœá¬á¡áá¯ááºáá¯ááºááá¯ááºáá±á¬ááŒá±á¬áá·áºá
- `seq` - áááºáá±á·áá»áºáááºááŸááºá áá áº;
- `countChunk` О `á¡áá¯á¶ážáá¶áá«ááº` ááŒá®ážáá¬ážáá±á¬á á¬ááá¯áá»á¬ážááá¯ááœá²ááŒááºážáááºá¡ááœááºááá¯á¡ááºáá±á¬á
- `á¡ááŸááº` О `áááºáá±á¬ááºá` á¡ááŸááºááŸáá·áº áá±áᬠááá¯ááºááá¯ááºá
áá±áá¬ááᯠáá»áœááºá¯ááºááá¯á· ááŒáá¯áááºááá¯ááºáá¬ážáá±á¬ááŒá±á¬áá·áº áá±á¬ááºáá¯á¶ážá áá áºááẠEthereum á `rlp` á á¬ááŒáá·áºááá¯ááºááẠááá¯ááá¯ááŒááºáááºáá«áááºá áá¶ááá±á¬ááºážá áœá¬ááŒáá·áºá áá»áœááºá¯ááºááá¯á·ááẠá¡áá¬áááºááœáẠáá¯ááºáá±á¬ááºááẠá á®á ááºáá¬ážááá·áº á áááºá á¬áá»á¯ááºááᯠá¡ááŒá®ážáááºááẠááá¯á¡ááºáá±á¬ááŒá±á¬áá·áº áááºážááᯠáá»áœááºá¯ááºááá¯á· áááŒááºážááá¯ááá¯ááºáá±ážáá«á
á¡ááŸáááºá¡áá¯ááºáá²á· áá±á¬ááºá¡á±á¬áẠááááºážááá¯ááºáá²á·ááẠ35 000 á áá¹ááá·áºá¡ááá¯áẠááœá±áá±ážááœá±áá°áá»á¬ážá áá»áœááºá¯ááºááá¯á·áááºáááºáž áááºážááá¯á·ááᯠá¡áá±á¬ááºážáá¯á¶ážá¡áá»áááºá¡ááœááºáž áá¯ááºáá±á¬ááºááẠááá¯á¡ááºáá«áááºá ááá·áºááŸááºážááŒá±á¡á¬ážááŒáá·áº ááá±á¬ááºááœá²á·á ááºážáá»áááºááẠá áá¹ááá·áº 30 ááŒá¬áá±á¬ááŒá±á¬áá·áºá áá»áœááºá¯ááºááá¯á·ááẠááá±á¬ááºáá²ááœáẠááá·áºááœááºážááẠááá¯á¡ááºáá«áááºá 1 000 000 ááœá±áá±ážááœá±áá° ááá¯áááºááŸá¬ áá»á¬ážáá»á¬ážááá¯á·ááŒááºážááᯠááá¯ááá¯áááºá 100 áá±áᬠMB
á¡á ááá¯ááºážááœááºá áá»áœááºá¯ááºááá¯á·ááẠnode áá»á¬ážááŒá¬áž áááºááœááºááẠ`ethereumjs-devp2p` á á¬ááŒáá·áºááá¯ááºááᯠá¡áá¯á¶ážááŒá¯áá²á·áá±á¬áºáááºáž áá±áá¬áá»á¬ážá áœá¬ááᯠáááá¯ááºááœááºááá¯ááºáá«á ááááºá¡áá±ááŒáá·áºá áá»áœááºá¯ááºááá¯á·ááẠ`ws` á á¬ááŒáá·áºááá¯ááºááᯠá¡áá¯á¶ážááŒá¯ááŒá®áž websocket ááŸáá áºááá·áº binary data áá±ážááá¯á·ááŒááºážááᯠá á®á ááºáááºááŸááºáá¬ážáá«áááºá áá¯ááºáá«áááºá áá±áá¬áááºáá±á·ááºá»ááŒá®ážááœá±ááᯠááá¯á·áá²á·á¡áá« ááŒá¿áá¬ááœá±áááºáž ááŒá¯á¶áá²á·ááá±ááá·áº á¡á²áá«ááœá±ááᯠá¡áá¯á¶ážááá¯áẠááœá²ááá¯ááºáá²á·á¡ááœáẠá¡áᯠáá®ááŒá¿áá¬ááœá± áá»á±á¬ááºááœá¬ážáá«ááŒá®á
Merkle áá áºáááºáá áºáááºááá¯ááœá²á·á ááºážááŒá®áž hash ááá¯ááœááºáá»ááºáááºá 1 000 000 á¡áá±á¬ááºážá¡ á ááºáá»á¬ážá¡ááŒá±á¬ááºážááá¯á¡ááºáááºá 10 á áá¹ááá·áºáá»á¬ážááᯠáááºááá¯áẠááœááºáá»ááºáááºá á€á¡áá»áááºá¡áá±á¬á¡ááœááºážá node á¡á¬ážáá¯á¶ážááŸáá·áº áá»áááºáááºááŸá¯ áá»ááºááœá¬ážááá¯ááºáááºá á€ááœááºáá»ááºááŸá¯ááᯠáá®ážááŒá¬ážáá»ááºáá áºáá¯ááá¯á· ááœáŸá±á·ááẠáá¯á¶ážááŒááºáá²á·áááºá
áá±á¬ááºáá»ááº:
ááááºáá±á¬á·á áá»áœááºáá±á¬áºááá¯á·áá²á· ááœá±á·ááŸááá»ááºááœá±áᬠá¡áá áºá¡áááºážááá¯ááºáá±ááá·áº ááá¬ááŸááºáá±á¬áºáá±á¬áºáá»á¬ážáá»á¬ážá áá®ááœááºáááºáá®ážáá²á·á¡áá« á¡á²áá«ááœá±ááᯠáá±á·ááœá¬ážááŒáá«áááºá
- Object-Oriented Programming á¡á á¬áž Functional Programming ááá¯á¡áá¯á¶ážááŒá¯ááŒááºážááẠáá¯ááºáá¯ááºá áœááºážá¡á¬ážááᯠááá¯ážáááºá á±áááºá
- Monolith ááẠááŒá áºááœááºážáá±á¬ NodeJS á áá áºá¡ááœáẠáááºáá±á¬ááºááŸá¯áááá¯áá¬áá áºáá¯ááẠááá¯ááá¯ážáááºá
- áá±ážáá¶áá±á¬ááœááºáá»ááºááŸá¯á¡ááœáẠ`worker_threads` ááá¯á¡áá¯á¶ážááŒá¯ááŒááºážááẠá¡áá°ážáááŒáá·áº i/o áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠááá¯ááºááœááºáá±á¬á¡áá«ááœáẠá áá áºááá¯á¶á·ááŒááºááŸá¯ááᯠááá¯ááá¯áá±á¬ááºážááœááºá á±áááºá
- unix socket ááẠhttp áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááẠááá¯ááá¯áááºááŒáááºááŒá®áž ááá¯ááŒááºáááºá
- á¡áááºá áááºááẠááœááºáááºáá±á«áºááœáẠááŒá®ážáá¬ážáá±á¬áá±áá¬ááᯠáá»ááºááŒááºá áœá¬ááœáŸá²ááŒá±á¬ááºážááẠááá¯á¡ááºáá«áá websockets áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááŒá®áž binary data áá»á¬ážááᯠá¡ááá¯ááºážáá»á¬ážááœá²á áá±ážááá¯á·ááŒááºážááẠááá¯áá±á¬ááºážáááºá áááºážááá¯á·áá±á¬ááºáá¬áá«á áááºááá·áºáá±ážááá¯á·ááá¯ááºááŒá®áž áááºáá±á·áá»áºáá áºáá¯ááá¯á· áá±á«ááºážá ááºááá¯ááºáááºá
áá¬áá±á¬ááºáááºáááºááá¯á· ááááºáá±á«áºáá«áááºá GitHub ááá±á¬áá»ááº-
áá±á¬ááºážáá«ážááᯠáá°ážááœá²áá±ážáá¬ážáá²á·áááºá Alexander Nashivaná¡ááŒá®ážáááºážááŒá¯á
á¯áá°
source: www.habr.com