ื‘ื“ื™ืงื” ืฆื™ื‘ื•ืจื™ืช: ืคืชืจื•ืŸ ืœืคืจื˜ื™ื•ืช ื•ืžื“ืจื’ื™ื•ืช ื‘-Ethereum

ื‘ืœื•ืงืฆ'ื™ื™ืŸ ื”ื™ื ื˜ื›ื ื•ืœื•ื’ื™ื” ื—ื“ืฉื ื™ืช ื”ืžื‘ื˜ื™ื—ื” ืœืฉืคืจ ืชื—ื•ืžื™ื ืจื‘ื™ื ื‘ื—ื™ื™ ื”ืื“ื. ื”ื•ื ืžืขื‘ื™ืจ ืชื”ืœื™ื›ื™ื ื•ืžื•ืฆืจื™ื ืืžื™ืชื™ื™ื ืœืžืจื—ื‘ ื”ื“ื™ื’ื™ื˜ืœื™, ืžื‘ื˜ื™ื— ืžื”ื™ืจื•ืช ื•ืืžื™ื ื•ืช ืฉืœ ืขืกืงืื•ืช ืคื™ื ื ืกื™ื•ืช, ืžืคื—ื™ืช ืืช ื”ืขืœื•ืช ืฉืœื”ืŸ ื•ื’ื ืžืืคืฉืจ ืœื™ืฆื•ืจ ืืคืœื™ืงืฆื™ื•ืช DAPP ืžื•ื“ืจื ื™ื•ืช ื‘ืืžืฆืขื•ืช ื—ื•ื–ื™ื ื—ื›ืžื™ื ื‘ืจืฉืชื•ืช ืžื‘ื•ื–ืจื•ืช.

ืœืื•ืจ ื”ื™ืชืจื•ื ื•ืช ื”ืจื‘ื™ื ื•ื”ื™ื™ืฉื•ืžื™ื ื”ืžื’ื•ื•ื ื™ื ืฉืœ ื‘ืœื•ืงืฆ'ื™ื™ืŸ, ื–ื” ืื•ืœื™ ื ืจืื” ืžืคืชื™ืข ืฉื”ื˜ื›ื ื•ืœื•ื’ื™ื” ื”ืžื‘ื˜ื™ื—ื” ื”ื–ื• ืขื“ื™ื™ืŸ ืœื ืขืฉืชื” ืืช ื“ืจื›ื” ืœื›ืœ ืชืขืฉื™ื™ื”. ื”ื‘ืขื™ื” ื”ื™ื ืฉื‘ืœื•ืงืฆ'ื™ื™ืŸ ื”ืžื•ื“ืจื ื™ ื”ืžื‘ื•ื–ืจ ื—ืกืจ ื™ื›ื•ืœืช ืžื“ืจื’ื™ื•ืช. Ethereum ืžืขื‘ื“ ื›-20 ืขืกืงืื•ืช ื‘ืฉื ื™ื™ื”, ืžื” ืฉืœื ืžืกืคื™ืง ื›ื“ื™ ืœืขื ื•ืช ืขืœ ื”ืฆืจื›ื™ื ืฉืœ ื”ืขืกืงื™ื ื”ื“ื™ื ืžื™ื™ื ืฉืœ ื”ื™ื•ื. ื™ื—ื“ ืขื ื–ืืช, ื—ื‘ืจื•ืช ื”ืžืฉืชืžืฉื•ืช ื‘ื˜ื›ื ื•ืœื•ื’ื™ื™ืช ื‘ืœื•ืงืฆ'ื™ื™ืŸ ืžื”ืกืกื•ืช ืœื ื˜ื•ืฉ ืืช Ethereum ื‘ืฉืœ ืจืžืช ื”ื”ื’ื ื” ื”ื’ื‘ื•ื”ื” ืฉืœื• ืžืคื ื™ ืคืจื™ืฆื•ืช ื•ื›ืฉืœื™ ืจืฉืช.

ื›ื“ื™ ืœื”ื‘ื˜ื™ื— ื‘ื™ื–ื•ืจ, ืื‘ื˜ื—ื” ื•ืžื“ืจื’ื™ื•ืช ื‘ื‘ืœื•ืงืฆ'ื™ื™ืŸ, ื•ื‘ื›ืš ืœืคืชื•ืจ ืืช ื”-Scalability Trilemma, ืฆื•ื•ืช ื”ืคื™ืชื•ื— ื”ื–ื“ืžื ื•ืช ื™ืฆืจื” ืืช Plasma Cash, ืจืฉืช ื‘ืช ื”ืžื•ืจื›ื‘ืช ืžื—ื•ื–ื” ื—ื›ื ื•ืจืฉืช ืคืจื˜ื™ืช ื”ืžื‘ื•ืกืกืช ืขืœ Node.js, ื”ืžืขื‘ื™ืจื” ืžืขืช ืœืขืช ืืช ืžืฆื‘ื” ืœืฉืจืฉืจืช ื”ืฉื•ืจืฉ (Ethereum).

ื‘ื“ื™ืงื” ืฆื™ื‘ื•ืจื™ืช: ืคืชืจื•ืŸ ืœืคืจื˜ื™ื•ืช ื•ืžื“ืจื’ื™ื•ืช ื‘-Ethereum

ืชื”ืœื™ื›ื™ ืžืคืชื— ื‘ืคืœื–ืžื” ืงืืฉ

1. ื”ืžืฉืชืžืฉ ืงื•ืจื ืœืคื•ื ืงืฆื™ื™ืช ื”ื—ื•ื–ื” ื”ื—ื›ื 'ื”ืคืงื“ื”', ื•ืžืขื‘ื™ืจ ืœืชื•ื›ื” ืืช ืกื›ื•ื ื”-ETH ืฉื‘ืจืฆื•ื ื• ืœื”ืคืงื™ื“ ืœืืกื™ืžื•ืŸ Plasma Cash. ืคื•ื ืงืฆื™ื™ืช ื”ื—ื•ื–ื” ื”ื—ื›ื ื™ื•ืฆืจืช ืืกื™ืžื•ืŸ ื•ื™ื•ืฆืจืช ืื™ืจื•ืข ืœื’ื‘ื™ื•.

2. ืฆืžืชื™ Plasma Cash ื”ืžื ื•ื™ื™ื ืœืื™ืจื•ืขื™ ื—ื•ื–ื™ื ื—ื›ืžื™ื ืžืงื‘ืœื™ื ืื™ืจื•ืข ืขืœ ื™ืฆื™ืจืช ื”ืคืงื“ื” ื•ืžื•ืกื™ืคื™ื ืขืกืงื” ืขืœ ื™ืฆื™ืจืช ืืกื™ืžื•ืŸ ืœืžืื’ืจ.

3. ืžืขืช ืœืขืช, ืฆืžืชื™ื ืžื™ื•ื—ื“ื™ื ืฉืœ ืคืœื–ืžื” ืงืืฉ ืœื•ืงื—ื™ื ืืช ื›ืœ ื”ืขืกืงืื•ืช ืžื”ืžืื’ืจ (ืขื“ ืžื™ืœื™ื•ืŸ) ื•ื™ื•ืฆืจื™ื ืžื”ื ื‘ืœื•ืง, ืžื—ืฉื‘ื™ื ืืช ืขืฅ ื”- Merkle ื•ื‘ื”ืชืื, ืืช ื”-hash. ื‘ืœื•ืง ื–ื” ื ืฉืœื— ืœืฆืžืชื™ื ืื—ืจื™ื ืœืฆื•ืจืš ืื™ืžื•ืช. ื”ืฆืžืชื™ื ื‘ื•ื“ืงื™ื ื”ืื ื”-Hash ืฉืœ Merkle ืชืงืฃ ื•ื”ืื ื”ืขืกืงืื•ืช ืชืงืคื•ืช (ืœื“ื•ื’ืžื”, ื”ืื ืฉื•ืœื— ื”ืืกื™ืžื•ืŸ ื”ื•ื ื”ื‘ืขืœื™ื ืฉืœื•). ืœืื—ืจ ืื™ืžื•ืช ื”ื—ืกื™ืžื”, ื”ืฆื•ืžืช ืงื•ืจื ืœืคื•ื ืงืฆื™ื” 'submitBlock' ืฉืœ ื”ื—ื•ื–ื” ื”ื—ื›ื, ืฉืฉื•ืžืจืช ืืช ืžืกืคืจ ื”ื‘ืœื•ืง ื•ืืช ื”-Hash ืฉืœ Merkle ืœืฉืจืฉืจืช ื”ืงืฆื”. ื”ื—ื•ื–ื” ื”ื—ื›ื ื™ื•ืฆืจ ืื™ืจื•ืข ื”ืžืฆื‘ื™ืข ืขืœ ื”ื•ืกืคื” ืžื•ืฆืœื—ืช ืฉืœ ื‘ืœื•ืง. ืขืกืงืื•ืช ืžื•ืกืจื•ืช ืžื”ืžืื’ืจ.

4. ืฆืžืชื™ื ืฉืžืงื‘ืœื™ื ืืช ืื™ืจื•ืข ื”ื’ืฉืช ื”ื—ืกื™ืžื” ืžืชื—ื™ืœื™ื ืœื”ื—ื™ืœ ืืช ื”ืขืกืงืื•ืช ืฉื ื•ืกืคื• ืœื‘ืœื•ืง.

5. ื‘ืฉืœื‘ ืžืกื•ื™ื, ื”ื‘ืขืœื™ื (ืื• ืฉืื™ื ื• ื”ื‘ืขืœื™ื) ืฉืœ ื”ืืกื™ืžื•ืŸ ืจื•ืฆื” ืœืžืฉื•ืš ืื•ืชื• ืžืคืœื–ืžื” ืงืืฉ. ืœืฉื ื›ืš ื”ื•ื ืงื•ืจื ืœืคื•ื ืงืฆื™ื” `startExit`, ื•ืžืขื‘ื™ืจ ืœืชื•ื›ื” ืžื™ื“ืข ืขืœ 2 ื”ืขืกืงืื•ืช ื”ืื—ืจื•ื ื•ืช ืขืœ ื”ืืกื™ืžื•ืŸ, ืืฉืจ ืžืืฉืจื•ืช ืฉื”ื•ื ื”ื‘ืขืœื™ื ืฉืœ ื”ืืกื™ืžื•ืŸ. ื”ื—ื•ื–ื” ื”ื—ื›ื, ื‘ืืžืฆืขื•ืช ื”-Hash ืฉืœ Merkle, ื‘ื•ื“ืง ื ื•ื›ื—ื•ืช ืฉืœ ืขืกืงืื•ืช ื‘ื‘ืœื•ืงื™ื ื•ืฉื•ืœื— ืืช ื”ืืกื™ืžื•ืŸ ืœืžืฉื™ื›ื”, ืฉืชืชืจื—ืฉ ื‘ืขื•ื“ ืฉื‘ื•ืขื™ื™ื.

6. ืื ืคืขื•ืœืช ืžืฉื™ื›ืช ื”ืืกื™ืžื•ืŸ ื”ืชืจื—ืฉื” ืขื ื”ืคืจื•ืช (ื”ืืกื™ืžื•ืŸ ื”ื•ืฆื ืœืื—ืจ ืชื—ื™ืœืช ื”ืœื™ืš ื”ืžืฉื™ื›ื” ืื• ืฉื”ืืกื™ืžื•ืŸ ื›ื‘ืจ ื”ื™ื” ืฉืœ ืžื™ืฉื”ื• ืื—ืจ ืœืคื ื™ ื”ืžืฉื™ื›ื”), ื”ื‘ืขืœื™ื ืฉืœ ื”ืืกื™ืžื•ืŸ ื™ื›ื•ืœ ืœื”ืคืจื™ืš ืืช ื”ืžืฉื™ื›ื” ืชื•ืš ืฉื‘ื•ืขื™ื™ื.

ื‘ื“ื™ืงื” ืฆื™ื‘ื•ืจื™ืช: ืคืชืจื•ืŸ ืœืคืจื˜ื™ื•ืช ื•ืžื“ืจื’ื™ื•ืช ื‘-Ethereum

ื”ืคืจื˜ื™ื•ืช ืžื•ืฉื’ืช ื‘ืฉืชื™ ื“ืจื›ื™ื

1. ืฉืจืฉืจืช ื”ืฉื•ืจืฉ ืื™ื ื” ื™ื•ื“ืขืช ื“ื‘ืจ ืขืœ ื”ืขืกืงืื•ืช ืฉื ื•ืฆืจื•ืช ื•ืžื•ืขื‘ืจื•ืช ื‘ืชื•ืš ื”ืฉืจืฉืจืช ื”ื‘ืช. ืžื™ื“ืข ืขืœ ืžื™ ืฉื”ืคืงื™ื“ ื•ืžืฉืš 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
ื”ื•ืขืœื• 3 ืฆืžืชื™ื ืžืืžืชื™ื ืฉืœ ืคืœื–ืžื” ืงืืฉ.

2. AMD Ryzen 7 1700X Octa-Core "Summit Ridge" (ื–ืŸ), SATA SSD - 500 GB, 64 GB DDR4 RAM
ืฆื•ืžืช ETH ืฉืœ Ropsten testnet ื”ื•ืขืœื”.
ื”ื•ืขืœื• 3 ืฆืžืชื™ื ืžืืžืชื™ื ืฉืœ ืคืœื–ืžื” ืงืืฉ.

3. Intel Core i9-9900K Octa-Core ื›ื•ืœืœ. NVMe SSD - 1 TB, 64 GB DDR4 RAM
ืฆื•ืžืช ื”ื’ืฉืช ืคืœื–ืžื” ืžื–ื•ืžืŸ ื”ื•ืขืœื”.
ื”ื•ืขืœื• 3 ืฆืžืชื™ื ืžืืžืชื™ื ืฉืœ ืคืœื–ืžื” ืงืืฉ.
ื”ื•ืฉืงื” ื‘ื“ื™ืงื” ืœื”ื•ืกืคืช ืขืกืงืื•ืช ืœืจืฉืช Plasma Cash.

ืกืš ื”ื›ืœ: 10 ืฆืžืชื™ Plasma Cash ื‘ืจืฉืช ืคืจื˜ื™ืช.

ืžื‘ื—ืŸ 1

ื™ืฉ ืžื’ื‘ืœื” ืฉืœ ืžื™ืœื™ื•ืŸ ืขืกืงืื•ืช ืœื›ืœ ื‘ืœื•ืง. ืœื›ืŸ, ืžื™ืœื™ื•ืŸ ืขืกืงืื•ืช ืžืชื—ืœืงื•ืช ืœ-1 ื‘ืœื•ืงื™ื (ืฉื›ืŸ ื”ืžืขืจื›ืช ืžืฆืœื™ื—ื” ืœืงื—ืช ื—ืœืง ืžื”ืขืกืงืื•ืช ื•ืœื”ื’ื™ืฉ ืชื•ืš ื›ื“ื™ ืฉืœื™ื—ืชืŸ).


ืžืฆื‘ ื”ืชื—ืœืชื™: ื‘ืœื•ืง ืื—ืจื•ืŸ #7; ืžื™ืœื™ื•ืŸ ืขืกืงืื•ืช ื•ืืกื™ืžื•ื ื™ื ืžืื•ื—ืกื ื™ื ื‘ืžืกื“ ื”ื ืชื•ื ื™ื.

00:00 - ืชื—ื™ืœืช ืชืกืจื™ื˜ ื™ืฆื™ืจืช ื”ืขืกืงื”
01:37 - 1 ืžื™ืœื™ื•ืŸ ืขืกืงืื•ืช ื ื•ืฆืจื• ื•ื”ื—ืœื” ื”ืฉืœื™ื—ื” ืœืฆื•ืžืช
01:46 - ืฆื•ืžืช ื”ื”ื’ืฉื” ืœืงื— 240 ืขืกืงืื•ืช ืžื”ืžืื’ืจ ื•ื”ื˜ืคืกื™ื ื‘ืœื•ืง ืžืก' 8. ืื ื• ืจื•ืื™ื ื’ื ืฉ-320 ืืœืฃ ืขืกืงืื•ืช ืžืชื•ื•ืกืคื•ืช ืœืžืื’ืจ ืชื•ืš 10 ืฉื ื™ื•ืช
01:58 - ื‘ืœื•ืง ืžืก' 8 ื ื—ืชื ื•ื ืฉืœื— ืœืื™ืžื•ืช
02:03 - ื‘ืœื•ืง ืžืก' 8 ืžืื•ืžืช ื•ืคื•ื ืงืฆื™ื™ืช 'submitBlock' ืฉืœ ื”ื—ื•ื–ื” ื”ื—ื›ื ื ืงืจืืช ืขื ื”-Hash ืฉืœ Merkle ื•ืžืกืคืจ ื”ื—ืกื™ืžื”
02:10 - ืกืงืจื™ืคื˜ ื”ื“ื’ืžื” ืกื™ื™ื ืœืขื‘ื•ื“, ืฉืฉืœื— ืžื™ืœื™ื•ืŸ ืขืกืงืื•ืช ื‘-1 ืฉื ื™ื•ืช
02:33 - ืฆืžืชื™ื ื”ื—ืœื• ืœืงื‘ืœ ืžื™ื“ืข ืฉื‘ืœื•ืง #8 ื ื•ืกืฃ ืœืฉืจืฉืจืช ื”ืฉื•ืจืฉ, ื•ื”ื—ืœื• ืœื‘ืฆืข 240 ืขืกืงืื•ืช
02:40 - 240 ืืœืฃ ืขืกืงืื•ืช ื”ื•ืกืจื• ืžื”ืžืื’ืจ, ืฉื›ื‘ืจ ื ืžืฆืื•ืช ื‘ื‘ืœื•ืง ืžืก' 8
02:56 - ืฆื•ืžืช ื”ื’ืฉื” ืœืงื— ืืช 760 ื”ืขืกืงืื•ืช ื”ื ื•ืชืจื•ืช ืžื”ืžืื’ืจ ื•ื”ื—ืœ ืœื—ืฉื‘ ืืช ื”-Hash ืฉืœ Merkle ื•ื‘ืœื•ืง ื”ื—ืชื™ืžื” ืžืก' 9
03:20 - ื›ืœ ื”ืฆืžืชื™ื ืžื›ื™ืœื™ื ืžื™ืœื™ื•ืŸ 1 ืืœืฃ ืขืกืงืื•ืช ื•ืืกื™ืžื•ื ื™ื
03:35 - ื‘ืœื•ืง ืžืก' 9 ื ื—ืชื ื•ื ืฉืœื— ืœืื™ืžื•ืช ืœืฆืžืชื™ื ืื—ืจื™ื
03:41 - ืื™ืจืขื” ืฉื’ื™ืืช ืจืฉืช
04:40 - ืชื ื”ื–ืžืŸ ื”ืงืฆื•ื‘ ืœื”ืžืชื ื” ืœืื™ืžื•ืช ื‘ืœื•ืง ืžืก' 9
04:54 - ืฆื•ืžืช ื”ื’ืฉื” ืœืงื— ืืช 760 ื”ืขืกืงืื•ืช ื”ื ื•ืชืจื•ืช ืžื”ืžืื’ืจ ื•ื”ื—ืœ ืœื—ืฉื‘ ืืช ื”-Hash ืฉืœ Merkle ื•ื‘ืœื•ืง ื”ื—ืชื™ืžื” ืžืก' 9
05:32 - ื‘ืœื•ืง ืžืก' 9 ื ื—ืชื ื•ื ืฉืœื— ืœืื™ืžื•ืช ืœืฆืžืชื™ื ืื—ืจื™ื
05:53 - ื‘ืœื•ืง ืžืก' 9 ืžืื•ืžืช ื•ื ืฉืœื— ืœืฉืจืฉืจืช ื”ืฉื•ืจืฉ
06:17 - ืฆืžืชื™ื ื”ื—ืœื• ืœืงื‘ืœ ืžื™ื“ืข ืฉื‘ืœื•ืง ืžืก' 9 ื ื•ืกืฃ ืœืฉืจืฉืจืช ื”ืฉื•ืจืฉ ื•ื”ืชื—ื™ืœ ืœื‘ืฆืข 760 ืขืกืงืื•ืช
06:47 - ื”ืžืื’ืจ ืคื™ื ื” ืขืกืงืื•ืช ืฉื ืžืฆืื•ืช ื‘ื‘ืœื•ืง ืžืก' 9
09:06 - ื›ืœ ื”ืฆืžืชื™ื ืžื›ื™ืœื™ื 2 ืžื™ืœื™ื•ืŸ ืขืกืงืื•ืช ื•ืืกื™ืžื•ื ื™ื

ืžื‘ื—ืŸ 2

ื™ืฉ ื”ื’ื‘ืœื” ืฉืœ 350 ืืœืฃ ืœื‘ืœื•ืง. ื›ืชื•ืฆืื” ืžื›ืš, ื™ืฉ ืœื ื• 3 ื‘ืœื•ืงื™ื.


ืžืฆื‘ ื”ืชื—ืœืชื™: ื‘ืœื•ืง ืื—ืจื•ืŸ #9; 2 ืžื™ืœื™ื•ืŸ ืขืกืงืื•ืช ื•ืืกื™ืžื•ื ื™ื ืžืื•ื—ืกื ื™ื ื‘ืžืกื“ ื”ื ืชื•ื ื™ื

00:00 - ืกืงืจื™ืคื˜ ืœื™ืฆื™ืจืช ืขืกืงืื•ืช ื›ื‘ืจ ื”ื•ืฉืง
00:44 - 1 ืžื™ืœื™ื•ืŸ ืขืกืงืื•ืช ื ื•ืฆืจื• ื•ื”ื—ืœื” ื”ืฉืœื™ื—ื” ืœืฆื•ืžืช
00:56 - ืฆื•ืžืช ื”ื”ื’ืฉื” ืœืงื— 320 ืขืกืงืื•ืช ืžื”ืžืื’ืจ ื•ื”ื˜ืคืกื™ื ื‘ืœื•ืง ืžืก' 10. ืื ื• ืจื•ืื™ื ื’ื ืฉ-320 ืืœืฃ ืขืกืงืื•ืช ืžืชื•ื•ืกืคื•ืช ืœืžืื’ืจ ืชื•ืš 10 ืฉื ื™ื•ืช
01:12 - ื‘ืœื•ืง ืžืก' 10 ื ื—ืชื ื•ื ืฉืœื— ืœืฆืžืชื™ื ืื—ืจื™ื ืœืฆื•ืจืš ืื™ืžื•ืช
01:18 - ืกืงืจื™ืคื˜ ื”ื“ื’ืžื” ืกื™ื™ื ืœืขื‘ื•ื“, ืฉืฉืœื— ืžื™ืœื™ื•ืŸ ืขืกืงืื•ืช ื‘-1 ืฉื ื™ื•ืช
01:20 - ื‘ืœื•ืง ืžืก' 10 ืžืื•ืžืช ื•ื ืฉืœื— ืœืฉืจืฉืจืช ื”ืฉื•ืจืฉ
01:51 - ื›ืœ ื”ืฆืžืชื™ื ืงื™ื‘ืœื• ืžื™ื“ืข ืžืฉืจืฉืจืช ื”ืฉื•ืจืฉ ืฉื‘ืœื•ืง ืžืก' 10 ื ื•ืกืฃ ื•ืžืชื—ื™ืœื™ื ืœื”ื—ื™ืœ 320 ืขืกืงืื•ืช
02:01 - ื”ืžืื’ืจ ืคื™ื ื” ืขื‘ื•ืจ 320 ืขืกืงืื•ืช ืฉื ื•ืกืคื• ืœื‘ืœื•ืง ืžืก' 10
02:15 - ืฆื•ืžืช ื”ื”ื’ืฉื” ืœืงื— 350 ืขืกืงืื•ืช ืžื”ืžืื’ืจ ื•ื”ื˜ืคืกื™ื ื‘ืœื•ืง ืžืก' 11
02:34 - ื‘ืœื•ืง ืžืก' 11 ื ื—ืชื ื•ื ืฉืœื— ืœืฆืžืชื™ื ืื—ืจื™ื ืœืฆื•ืจืš ืื™ืžื•ืช
02:51 - ื‘ืœื•ืง ืžืก' 11 ืžืื•ืžืช ื•ื ืฉืœื— ืœืฉืจืฉืจืช ื”ืฉื•ืจืฉ
02:55 - ื”ืฆื•ืžืช ื”ืื—ืจื•ืŸ ื”ืฉืœื™ื ืขืกืงืื•ืช ืžื‘ืœื•ืง ืžืก' 10
10:59 โ€” ื”ืขืกืงื” ืขื ื”ื’ืฉืช ื‘ืœื•ืง ืžืก' 9 ืืจื›ื” ื–ืžืŸ ืจื‘ ืžืื•ื“ ื‘ืฉืจืฉืจืช ื”ืฉื•ืจืฉ, ืื‘ืœ ื”ื™ื ื”ื•ืฉืœืžื” ื•ื›ืœ ื”ืฆืžืชื™ื ืงื™ื‘ืœื• ืžื™ื“ืข ืขืœื™ื” ื•ื”ื—ืœื• ืœื‘ืฆืข 350 ืืœืฃ ืขืกืงืื•ืช
11:05 - ื”ืžืื’ืจ ืคื™ื ื” ืขื‘ื•ืจ 320 ืขืกืงืื•ืช ืฉื ื•ืกืคื• ืœื‘ืœื•ืง ืžืก' 11
12:10 - ื›ืœ ื”ืฆืžืชื™ื ืžื›ื™ืœื™ื ืžื™ืœื™ื•ืŸ 1 ืืœืฃ ืขืกืงืื•ืช ื•ืืกื™ืžื•ื ื™ื
12:17 - ืฆื•ืžืช ื”ื”ื’ืฉื” ืœืงื— 330 ืขืกืงืื•ืช ืžื”ืžืื’ืจ ื•ื”ื˜ืคืกื™ื ื‘ืœื•ืง ืžืก' 12
12:32 - ื‘ืœื•ืง ืžืก' 12 ื ื—ืชื ื•ื ืฉืœื— ืœืฆืžืชื™ื ืื—ืจื™ื ืœืฆื•ืจืš ืื™ืžื•ืช
12:39 - ื‘ืœื•ืง ืžืก' 12 ืžืื•ืžืช ื•ื ืฉืœื— ืœืฉืจืฉืจืช ื”ืฉื•ืจืฉ
13:44 - ื›ืœ ื”ืฆืžืชื™ื ืงื™ื‘ืœื• ืžื™ื“ืข ืžืฉืจืฉืจืช ื”ืฉื•ืจืฉ ืฉื‘ืœื•ืง ืžืก' 12 ื ื•ืกืฃ ื•ืžืชื—ื™ืœื™ื ืœื”ื—ื™ืœ 330 ืขืกืงืื•ืช
14:50 - ื›ืœ ื”ืฆืžืชื™ื ืžื›ื™ืœื™ื 2 ืžื™ืœื™ื•ืŸ ืขืกืงืื•ืช ื•ืืกื™ืžื•ื ื™ื

ืžื‘ื—ืŸ 3

ื‘ืฉืจืช ื”ืจืืฉื•ืŸ ื•ื”ืฉื ื™, ืฆื•ืžืช ืื™ืžื•ืช ืื—ื“ ื”ื•ื—ืœืฃ ื‘ืฆื•ืžืช ื”ื’ืฉื”.


ืžืฆื‘ ื”ืชื—ืœืชื™: ื‘ืœื•ืง ืื—ืจื•ืŸ #84; 0 ืขืกืงืื•ืช ื•ืืกื™ืžื•ื ื™ื ื ืฉืžืจื• ื‘ืžืกื“ ื”ื ืชื•ื ื™ื

00:00 - ื”ื•ืฉืงื• 3 ืกืงืจื™ืคื˜ื™ื ืฉืžื™ื™ืฆืจื™ื ื•ืฉื•ืœื—ื™ื ืžื™ืœื™ื•ืŸ ืขืกืงืื•ืช ื›ืœ ืื—ื“
01:38 - 1 ืžื™ืœื™ื•ืŸ ืขืกืงืื•ืช ื ื•ืฆืจื• ื•ื”ืฉืœื™ื—ื” ืœืฆื•ืžืช ืžืก' 3 ื”ื—ืœื”
01:50 โ€” ืฆื•ืžืช ื”ื’ืฉื” ืžืก' 3 ืœืงื— 330 ืขืกืงืื•ืช ืžื”ืžืื’ืจ ื•ื”ื˜ืคืกื™ื ื‘ืœื•ืง ืžืก' 85 (f21). ืื ื• ืจื•ืื™ื ื’ื ืฉ-350 ืขืกืงืื•ืช ืžืชื•ื•ืกืคื•ืช ืœืžืื’ืจ ืชื•ืš 10 ืฉื ื™ื•ืช
01:53 - 1 ืžื™ืœื™ื•ืŸ ืขืกืงืื•ืช ื ื•ืฆืจื• ื•ื”ืฉืœื™ื—ื” ืœืฆื•ืžืช ืžืก' 1 ื”ื—ืœื”
01:50 โ€” ืฆื•ืžืช ื”ื’ืฉื” ืžืก' 3 ืœืงื— 330 ืขืกืงืื•ืช ืžื”ืžืื’ืจ ื•ื”ื˜ืคืกื™ื ื‘ืœื•ืง ืžืก' 85 (f21). ืื ื• ืจื•ืื™ื ื’ื ืฉ-350 ืขืกืงืื•ืช ืžืชื•ื•ืกืคื•ืช ืœืžืื’ืจ ืชื•ืš 10 ืฉื ื™ื•ืช
02:01 โ€” ืฆื•ืžืช ื”ื’ืฉื” ืžืก' 1 ืœืงื— 250 ืขืกืงืื•ืช ืžื”ืžืื’ืจ ื•ื‘ืœื•ืง ื˜ืคืกื™ื ืžืก' 85 (65e)
02:06 - ื‘ืœื•ืง #85 (f21) ื ื—ืชื ื•ื ืฉืœื— ืœืฆืžืชื™ื ืื—ืจื™ื ืœืฆื•ืจืš ืื™ืžื•ืช
02:08 - ืกืงืจื™ืคื˜ ื”ื“ื’ืžื” ืฉืœ ืฉืจืช ืžืก' 3, ืฉืฉืœื— ืžื™ืœื™ื•ืŸ ืขืกืงืื•ืช ืชื•ืš 1 ืฉื ื™ื•ืช, ืกื™ื™ื ืœืขื‘ื•ื“
02:14 - ื‘ืœื•ืง #85 (f21) ืžืื•ืžืช ื•ื ืฉืœื— ืœืฉืจืฉืจืช ื”ืฉื•ืจืฉ
02:19 - ื‘ืœื•ืง #85 (65e) ื ื—ืชื ื•ื ืฉืœื— ืœืฆืžืชื™ื ืื—ืจื™ื ืœืฆื•ืจืš ืื™ืžื•ืช
02:22 - 1 ืžื™ืœื™ื•ืŸ ืขืกืงืื•ืช ื ื•ืฆืจื• ื•ื”ืฉืœื™ื—ื” ืœืฆื•ืžืช ืžืก' 2 ื”ื—ืœื”
02:27 - ื‘ืœื•ืง #85 (65e) ืื•ืžืช ื•ื ืฉืœื— ืœืฉืจืฉืจืช ื”ืฉื•ืจืฉ
02:29 โ€” ืฆื•ืžืช ื”ื’ืฉื” ืžืก' 2 ืœืงื— 111855 ืขืกืงืื•ืช ืžื”ืžืื’ืจ ื•ื˜ืคืกื™ื ื‘ืœื•ืง ืžืก' 85 (256).
02:36 - ื‘ืœื•ืง ืžืก' 85 (256) ื ื—ืชื ื•ื ืฉืœื— ืœืฆืžืชื™ื ืื—ืจื™ื ืœืฆื•ืจืš ืื™ืžื•ืช
02:36 - ืกืงืจื™ืคื˜ ื”ื“ื’ืžื” ืฉืœ ืฉืจืช ืžืก' 1, ืฉืฉืœื— ืžื™ืœื™ื•ืŸ ืขืกืงืื•ืช ืชื•ืš 1 ืฉื ื™ื•ืช, ืกื™ื™ื ืœืขื‘ื•ื“
02:38 - ื‘ืœื•ืง ืžืก' 85 (256) ืžืื•ืžืช ื•ื ืฉืœื— ืœืฉืจืฉืจืช ื”ืฉื•ืจืฉ
03:08 - ืกืงืจื™ืคื˜ ืžืก' 2 ืฉืœ ืฉืจืช ืกื™ื™ื ืœืขื‘ื•ื“, ืฉืฉืœื— ืžื™ืœื™ื•ืŸ ืขืกืงืื•ืช ืชื•ืš 1 ืฉื ื™ื•ืช
03:38 - ื›ืœ ื”ืฆืžืชื™ื ืงื™ื‘ืœื• ืžื™ื“ืข ืžืฉืจืฉืจืช ื”ืฉื•ืจืฉ ืฉื—ืกื™ืžื•ืช #85 (f21), #86(65e), #87(256) ื ื•ืกืคื• ื•ื”ื—ืœื• ืœื”ื—ื™ืœ ืขืกืงืื•ืช 330k, 250k, 111855
03:49 - ื”ืžืื’ืจ ืกื•ืœืงื” ื‘-330k, 250k, 111855 ืขืกืงืื•ืช ืฉื ื•ืกืคื• ืœื‘ืœื•ืงื™ื #85 (f21), #86(65e), #87(256)
03:59 โ€” ื”ื’ืฉืช ืฆื•ืžืช ืžืก' 1 ืœืงื—ื” 888145 ืขืกืงืื•ืช ืžื”ืžืื’ืจ ื•ื”ื˜ืคืกื™ื ื‘ืœื•ืง ืžืก' 88 (214), ืฆื•ืžืช ื”ื”ื’ืฉื” ืžืก' 2 ืœืงื—ื” 750 ืขืกืงืื•ืช ืžื”ืžืื’ืจ ื•ื˜ืคืกื™ื ื‘ืœื•ืง ืžืก' 88 (50a), ืฆื•ืžืช ื”ื’ืฉื” ืžืก' 3 ืœืงื—ื” 670 ืขืกืงืื•ืช ืž ื‘ืœื•ืง ื”ืžืื’ืจ ื•ื”ื˜ืคืกื™ื #88 (d3b)
04:44 - ื‘ืœื•ืง ืžืก' 88 (d3b) ื ื—ืชื ื•ื ืฉืœื— ืœืฆืžืชื™ื ืื—ืจื™ื ืœืฆื•ืจืš ืื™ืžื•ืช
04:58 - ื‘ืœื•ืง ืžืก' 88 (214) ื ื—ืชื ื•ื ืฉืœื— ืœืฆืžืชื™ื ืื—ืจื™ื ืœืฆื•ืจืš ืื™ืžื•ืช
05:11 - ื‘ืœื•ืง #88 (50a) ื ื—ืชื ื•ื ืฉืœื— ืœืฆืžืชื™ื ืื—ืจื™ื ืœืฆื•ืจืš ืื™ืžื•ืช
05:11 - ื‘ืœื•ืง #85 (d3b) ืžืื•ืžืช ื•ื ืฉืœื— ืœืฉืจืฉืจืช ื”ืฉื•ืจืฉ
05:36 - ื‘ืœื•ืง ืžืก' 85 (214) ืžืื•ืžืช ื•ื ืฉืœื— ืœืฉืจืฉืจืช ื”ืฉื•ืจืฉ
05:43 - ื›ืœ ื”ืฆืžืชื™ื ืงื™ื‘ืœื• ืžื™ื“ืข ืžืฉืจืฉืจืช ื”ืฉื•ืจืฉ ืฉื‘ืœื•ืงื™ื #88 (d3b), #89(214) ื ื•ืกืคื• ื•ืžืชื—ื™ืœื™ื ืœื”ื—ื™ืœ ืขืกืงืื•ืช ืฉืœ 670k, 750k
06:50 - ืขืงื‘ ื›ืฉืœ ื‘ืชืงืฉื•ืจืช, ื‘ืœื•ืง ืžืก' 85 (50a) ืœื ืื•ืžืช
06:55 โ€” ืฆื•ืžืช ืฉืœื— ืžืก' 2 ืœืงื— 888145 ืขืกืงืื•ืช ืžื”ืžืื’ืจ ื•ื”ื˜ืคืกื™ื ื‘ืœื•ืง ืžืก' 90 (50a)
08:14 - ื‘ืœื•ืง #90 (50a) ื ื—ืชื ื•ื ืฉืœื— ืœืฆืžืชื™ื ืื—ืจื™ื ืœืฆื•ืจืš ืื™ืžื•ืช
09:04 - ื‘ืœื•ืง ืžืก' 90 (50a) ืžืื•ืžืช ื•ื ืฉืœื— ืœืฉืจืฉืจืช ื”ืฉื•ืจืฉ
11:23 - ื›ืœ ื”ืฆืžืชื™ื ืงื™ื‘ืœื• ืžื™ื“ืข ืžืฉืจืฉืจืช ื”ืฉื•ืจืฉ ืฉื ื•ืกืฃ ื‘ืœื•ืง #90 (50a), ื•ืžืชื—ื™ืœื™ื ืœื”ื—ื™ืœ 888145 ื˜ืจื ื–ืงืฆื™ื•ืช. ื‘ืžืงื‘ื™ืœ, ืฉืจืช ืžืก' 3 ื›ื‘ืจ ื”ื—ื™ืœ ื˜ืจื ื–ืงืฆื™ื•ืช ืžื‘ืœื•ืงื™ื ืžืก' 88 (d3b), ืžืก' 89(214)
12:11 - ื›ืœ ื”ื‘ืจื™ื›ื•ืช ืจื™ืงื•ืช
13:41 - ื›ืœ ื”ืฆืžืชื™ื ืฉืœ ืฉืจืช ืžืก' 3 ืžื›ื™ืœื™ื 3 ืžื™ืœื™ื•ืŸ ืขืกืงืื•ืช ื•ืืกื™ืžื•ื ื™ื
14:35 - ื›ืœ ื”ืฆืžืชื™ื ืฉืœ ืฉืจืช ืžืก' 1 ืžื›ื™ืœื™ื 3 ืžื™ืœื™ื•ืŸ ืขืกืงืื•ืช ื•ืืกื™ืžื•ื ื™ื
19:24 - ื›ืœ ื”ืฆืžืชื™ื ืฉืœ ืฉืจืช ืžืก' 2 ืžื›ื™ืœื™ื 3 ืžื™ืœื™ื•ืŸ ืขืกืงืื•ืช ื•ืืกื™ืžื•ื ื™ื

ืžื›ืฉื•ืœื™ื

ื‘ืžื”ืœืš ื”ืคื™ืชื•ื— ืฉืœ Plasma Cash, ื ืชืงืœื ื• ื‘ื‘ืขื™ื•ืช ื”ื‘ืื•ืช, ืื•ืชืŸ ืคืชืจื ื• ื‘ื”ื“ืจื’ื” ื•ืคื•ืชืจื•ืช:

1. ืงื•ื ืคืœื™ืงื˜ ื‘ืื™ื ื˜ืจืืงืฆื™ื” ืฉืœ ืคื•ื ืงืฆื™ื•ืช ืžืขืจื›ืช ืฉื•ื ื•ืช. ื›ืš ืœืžืฉืœ, ื”ืคื•ื ืงืฆื™ื” ืฉืœ ื”ื•ืกืคืช ืขืกืงืื•ืช ืœืžืื’ืจ ื—ืกืžื” ืืช ืžืœืื›ืช ื”ื”ื’ืฉื” ื•ื”ืื™ืžื•ืช ืฉืœ ื‘ืœื•ืงื™ื, ื•ืœื”ื™ืคืš, ืžื” ืฉื”ื•ื‘ื™ืœ ืœื™ืจื™ื“ื” ื‘ืžื”ื™ืจื•ืช.

2. ืœื ื”ื™ื” ื‘ืจื•ืจ ืžื™ื“ ื›ื™ืฆื“ ืœืฉืœื•ื— ืžืกืคืจ ืขืฆื•ื ืฉืœ ืขืกืงืื•ืช ืชื•ืš ืžื–ืขื•ืจ ืขืœื•ื™ื•ืช ื”ืขื‘ืจืช ื”ื ืชื•ื ื™ื.

3. ืœื ื”ื™ื” ื‘ืจื•ืจ ืื™ืš ื•ืื™ืคื” ืœืื—ืกืŸ ื ืชื•ื ื™ื ืขืœ ืžื ืช ืœื”ื’ื™ืข ืœืชื•ืฆืื•ืช ื’ื‘ื•ื”ื•ืช.

4. ืœื ื”ื™ื” ื‘ืจื•ืจ ื›ื™ืฆื“ ืœืืจื’ืŸ ืจืฉืช ื‘ื™ืŸ ืฆืžืชื™ื, ืžื›ื™ื•ื•ืŸ ืฉื’ื•ื“ืœื• ืฉืœ ื‘ืœื•ืง ืขื ืžื™ืœื™ื•ืŸ ืขืกืงืื•ืช ืชื•ืคืก ื›-1 ืžื’ื”-ื‘ื™ื™ื˜.

5. ืขื‘ื•ื“ื” ื‘ืžืฆื‘ ื—ื•ื˜ ื™ื—ื™ื“ ืžื ืชืงืช ืืช ื”ืงืฉืจ ื‘ื™ืŸ ืฆืžืชื™ื ื›ืืฉืจ ืžืชืจื—ืฉื™ื ื—ื™ืฉื•ื‘ื™ื ืืจื•ื›ื™ื (ืœื“ื•ื’ืžื”, ื‘ื ื™ื™ืช ืขืฅ ืžืจืงืœ ื•ื—ื™ืฉื•ื‘ ื”-hash ืฉืœื•).

ืื™ืš ื”ืชืžื•ื“ื“ื ื• ืขื ื›ืœ ื–ื”?

ื”ื’ืจืกื” ื”ืจืืฉื•ื ื” ืฉืœ ืฆื•ืžืช Plasma Cash ื”ื™ื™ืชื” ืžืขื™ืŸ ืงื•ืžื‘ื™ื ื” ืฉื™ื›ื•ืœื” ืœืขืฉื•ืช ื”ื›ืœ ื‘ื• ื–ืžื ื™ืช: ืœืงื‘ืœ ืขืกืงืื•ืช, ืœื”ื’ื™ืฉ ื•ืœืืžืช ื‘ืœื•ืงื™ื ื•ืœืกืคืง API ืœื’ื™ืฉื” ืœื ืชื•ื ื™ื. ืžื›ื™ื•ื•ืŸ ืฉ-NodeJS ื”ื•ื ืžืงื•ืจื™ ืขื ื—ื•ื˜ ื™ื—ื™ื“, ืคื•ื ืงืฆื™ื™ืช ื”ื—ื™ืฉื•ื‘ ื”ื›ื‘ื“ื” ืฉืœ ืขืฅ Merkle ื—ืกืžื” ืืช ืคื•ื ืงืฆื™ื™ืช ื”ื•ืกืคืช ื”ืขืกืงื”. ืจืื™ื ื• ืฉืชื™ ืืคืฉืจื•ื™ื•ืช ืœืคืชืจื•ืŸ ื‘ืขื™ื” ื–ื•:

1. ื”ืคืขืœ ืžืกืคืจ ืชื”ืœื™ื›ื™ NodeJS, ืฉื›ืœ ืื—ื“ ืžื”ื ืžื‘ืฆืข ืคื•ื ืงืฆื™ื•ืช ืกืคืฆื™ืคื™ื•ืช.

2. ื”ืฉืชืžืฉ ื‘-worker_threads ื•ื”ืขื‘ืจ ืืช ื”ื‘ื™ืฆื•ืข ืฉืœ ื—ืœืง ืžื”ืงื•ื“ ืœืฉืจืฉื•ืจื™ื.

ื›ืชื•ืฆืื” ืžื›ืš, ื”ืฉืชืžืฉื ื• ื‘ืฉืชื™ ื”ืืคืฉืจื•ื™ื•ืช ื‘ื•-ื–ืžื ื™ืช: ื‘ืื•ืคืŸ ื”ื’ื™ื•ื ื™ ื—ื™ืœืงื ื• ืฆื•ืžืช ืื—ื“ ืœ-3 ื—ืœืงื™ื ืฉื™ื›ื•ืœื™ื ืœืขื‘ื•ื“ ื‘ื ืคืจื“, ืืš ื‘ืื•ืชื• ื”ื–ืžืŸ ื‘ืื•ืคืŸ ืกื™ื ื›ืจื•ื ื™

1. ืฆื•ืžืช ื”ื’ืฉื”, ืฉืžืงื‘ืœ ืขืกืงืื•ืช ืœืชื•ืš ื”ืžืื’ืจ ื•ื™ื•ืฆืจ ื‘ืœื•ืงื™ื.

2. ืฆื•ืžืช ืื™ืžื•ืช ืฉื‘ื•ื“ืง ืืช ืชืงืคื•ืช ื”ืฆืžืชื™ื.

3. ืฆื•ืžืช API - ืžืกืคืง API ืœื’ื™ืฉื” ืœื ืชื•ื ื™ื.

ื‘ืžืงืจื” ื–ื”, ื ื™ืชืŸ ืœื”ืชื—ื‘ืจ ืœื›ืœ ืฆื•ืžืช ื‘ืืžืฆืขื•ืช ืฉืงืข ื™ื•ื ื™ืงืก ื‘ืืžืฆืขื•ืช cli.

ื”ืขื‘ืจื ื• ืคืขื•ืœื•ืช ื›ื‘ื“ื•ืช, ื›ืžื• ื—ื™ืฉื•ื‘ ืขืฅ ืžืจืงืœ, ืœืฉืจืฉื•ืจ ื ืคืจื“.

ืœืคื™ื›ืš, ื”ืฉื’ื ื• ืคืขื•ืœื” ืชืงื™ื ื” ืฉืœ ื›ืœ ืคื•ื ืงืฆื™ื•ืช Plasma Cash ื‘ื• ื–ืžื ื™ืช ื•ืœืœื ืชืงืœื•ืช.

ืœืื—ืจ ืฉื”ืžืขืจื›ืช ืคืขืœื”, ื”ืชื—ืœื ื• ืœื‘ื“ื•ืง ืืช ื”ืžื”ื™ืจื•ืช ื•ืœืฆืขืจื ื• ืงื™ื‘ืœื ื• ืชื•ืฆืื•ืช ืœื ืžืฉื‘ื™ืขื•ืช ืจืฆื•ืŸ: 5 ืขืกืงืื•ืช ื‘ืฉื ื™ื™ื” ื•ืขื“ 000 ืขืกืงืื•ืช ืœื‘ืœื•ืง. ื”ื™ื™ืชื™ ืฆืจื™ืš ืœื”ื‘ื™ืŸ ืžื” ืžื™ื•ืฉื ื‘ืฆื•ืจื” ืœื ื ื›ื•ื ื”.

ืžืœื›ืชื—ื™ืœื”, ื”ืชื—ืœื ื• ืœื‘ื“ื•ืง ืืช ืžื ื’ื ื•ืŸ ื”ืชืงืฉื•ืจืช ืขื Plasma Cash ื›ื“ื™ ืœื’ืœื•ืช ืืช ื™ื›ื•ืœืช ื”ืฉื™ื ืฉืœ ื”ืžืขืจื›ืช. ื›ืชื‘ื ื• ืงื•ื“ื ืฉืฆื•ืžืช Plasma Cash ืžืกืคืง ืžืžืฉืง ืฉืงืข ื™ื•ื ื™ืงืก. ื‘ืชื—ื™ืœื” ื–ื” ื”ื™ื” ืžื‘ื•ืกืก ื˜ืงืกื˜. ืื•ื‘ื™ื™ืงื˜ื™ 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 ื—ื™ื™ื‘ ืœื”ื™ื•ืช ืžื•ืชืื ื”ื™ื˜ื‘ ืœืคืขื•ืœื•ืช ืืœื•.

ืขื‘ื“ื ื• ืขื ืขืกืงืื•ืช, ืืกื™ืžื•ื ื™ื ื•ื—ืกื™ืžื•ืช ื“ืจืš ืฉื™ืขื•ืจื™ื. ื‘ืขืช ื™ืฆื™ืจืช ืฉื™ืขื•ืจื™ื ื›ืืœื”, ื”ื‘ื™ืฆื•ืขื™ื ื™ืจื“ื• ืคื™ 2, ืžื” ืฉืžืขื™ื“ ืขืœ ื›ืš ืฉ-OOP ืœื ืžืชืื™ื ืœื ื•. ื”ื™ื™ืชื™ ืฆืจื™ืš ืœืฉื›ืชื‘ ื”ื›ืœ ืœื’ื™ืฉื” ืคื•ื ืงืฆื™ื•ื ืœื™ืช ื’ืจื™ื“ื.

ืจื™ืฉื•ื ื‘ืžืกื“ ื”ื ืชื•ื ื™ื

ื‘ืชื—ื™ืœื”, Redis ื ื‘ื—ืจื” ืœืื—ืกื•ืŸ ื ืชื•ื ื™ื ื›ืื—ื“ ื”ืคืชืจื•ื ื•ืช ื”ืคืจื•ื“ื•ืงื˜ื™ื‘ื™ื™ื ื‘ื™ื•ืชืจ ืฉืขื•ื ื” ืขืœ ื”ื“ืจื™ืฉื•ืช ืฉืœื ื•: ืื—ืกื•ืŸ ืžืคืชื—-ืขืจืš, ืขื‘ื•ื“ื” ืขื ื˜ื‘ืœืื•ืช ื’ื™ื‘ื•ื‘, ืกื˜ื™ื. ื”ืฉืงื ื• Redis-benchmark ื•ืงื™ื‘ืœื ื• ~80 ืคืขื•ืœื•ืช ื‘ืฉื ื™ื™ื” ื‘ืžืฆื‘ ืฆื ืจืช 1.

ืœื‘ื™ืฆื•ืขื™ื ื’ื‘ื•ื”ื™ื, ื›ื™ื•ื•ื ื• ืืช Redis ื‘ืฆื•ืจื” ืขื“ื™ื ื” ื™ื•ืชืจ:

  • ื ื•ืฆืจ ื—ื™ื‘ื•ืจ ืœืฉืงืข ื™ื•ื ื™ืงืก.
  • ื”ืฉื‘ืชื ื• ืืช ืฉืžื™ืจืช ื”ืžืฆื‘ ื‘ื“ื™ืกืง (ืœืฆื•ืจืš ืืžื™ื ื•ืช, ื ื™ืชืŸ ืœื”ื’ื“ื™ืจ ืจืคืœื™ืงื” ื•ืœืฉืžื•ืจ ื‘ื“ื™ืกืง ื‘-Redis ื ืคืจื“).

ื‘-Redis, ืžืื’ืจ ื”ื•ื ื˜ื‘ืœืช ื’ื™ื‘ื•ื‘ ืžื›ื™ื•ื•ืŸ ืฉืื ื• ืฆืจื™ื›ื™ื ืœื”ื™ื•ืช ืžืกื•ื’ืœื™ื ืœืื—ื–ืจ ืืช ื›ืœ ื”ืขืกืงืื•ืช ื‘ืฉืื™ืœืชื” ืื—ืช ื•ืœืžื—ื•ืง ืขืกืงืื•ืช ืื—ืช ืื—ืช. ื ื™ืกื™ื ื• ืœื”ืฉืชืžืฉ ื‘ืจืฉื™ืžื” ืจื’ื™ืœื”, ืืš ื”ื™ื ืื™ื˜ื™ืช ื™ื•ืชืจ ื‘ืขืช ืคืจื™ืงืช ื”ืจืฉื™ืžื” ื›ื•ืœื”.

ื‘ืขืช ืฉื™ืžื•ืฉ ื‘-NodeJS ืกื˜ื ื“ืจื˜ื™, ืกืคืจื™ื•ืช Redis ื”ืฉื™ื’ื• ื‘ื™ืฆื•ืขื™ื ืฉืœ 18 ืขืกืงืื•ืช ื‘ืฉื ื™ื™ื”. ื”ืžื”ื™ืจื•ืช ื™ืจื“ื” ืคื™ 9.

ืžื›ื™ื•ื•ืŸ ืฉื”ืžื“ื“ ื”ืจืื” ืœื ื• ืฉื”ืืคืฉืจื•ื™ื•ืช ื”ื™ื• ื’ื“ื•ืœื•ืช ื‘ื‘ื™ืจื•ืจ ืคื™ 5, ื”ืชื—ืœื ื• ืœื‘ืฆืข ืื•ืคื˜ื™ืžื™ื–ืฆื™ื”. ืฉื™ื ื™ื ื• ืืช ื”ืกืคืจื™ื™ื” ืœ- ioredis ื•ืงื™ื‘ืœื ื• ื‘ื™ืฆื•ืขื™ื ืฉืœ 25k ืœืฉื ื™ื™ื”. ื”ื•ืกืคื ื• ืขืกืงืื•ืช ืื—ืช ืื—ืช ื‘ืืžืฆืขื•ืช ื”ืคืงื•ื“ื” `hset`. ืื– ื™ืฆืจื ื• ื”ืจื‘ื” ืฉืื™ืœืชื•ืช ื‘ืจื“ื™ืก. ืขืœื” ื”ืจืขื™ื•ืŸ ืœืฉืœื‘ ืขืกืงืื•ืช ืœืืฆื•ื•ืช ื•ืœืฉืœื•ื— ืื•ืชืŸ ื‘ืคืงื•ื“ื” ืื—ืช `hmset`. ื”ืชื•ืฆืื” ื”ื™ื 32k ืœืฉื ื™ื™ื”.

ืžื›ืžื” ืกื™ื‘ื•ืช, ืื•ืชืŸ ื ืชืืจ ืœื”ืœืŸ, ืื ื• ืขื•ื‘ื“ื™ื ืขื ื ืชื•ื ื™ื ื‘ืืžืฆืขื•ืช `Buffer` ื•ื›ืคื™ ืฉืžืกืชื‘ืจ, ืื ืชืžื™ืจ ืื•ืชื ืœื˜ืงืกื˜ (`buffer.toString('hex')`) ืœืคื ื™ ื”ื›ืชื™ื‘ื”, ืชื•ื›ืœ ืœืงื‘ืœ ืขื•ื“ ื‘ื™ืฆื•ืขื™ื. ืœืคื™ื›ืš, ื”ืžื”ื™ืจื•ืช ื”ื•ื’ื“ืœื” ืœ-35k ืœืฉื ื™ื™ื”. ื ื›ื•ืŸ ืœืขื›ืฉื™ื•, ื”ื—ืœื˜ื ื• ืœื”ืฉืขื•ืช ืื•ืคื˜ื™ืžื™ื–ืฆื™ื” ื ื•ืกืคืช.

ื”ื™ื™ื ื• ืฆืจื™ื›ื™ื ืœืขื‘ื•ืจ ืœืคืจื•ื˜ื•ืงื•ืœ ื‘ื™ื ืืจื™ ื›ื™:

1. ื”ืžืขืจื›ืช ืœืจื•ื‘ ืžื—ืฉื‘ืช ื’ื™ื‘ื•ื‘, ื—ืชื™ืžื•ืช ื•ื›ื•', ื•ืœืฉื ื›ืš ื”ื™ื ื–ืงื•ืงื” ืœื ืชื•ื ื™ื ื‘-`Buffer.

2. ื›ืืฉืจ ื ืฉืœื—ื™ื ื‘ื™ืŸ ืฉื™ืจื•ืชื™ื, ื ืชื•ื ื™ื ื‘ื™ื ืืจื™ื™ื ืฉื•ืงืœื™ื ืคื—ื•ืช ืžื˜ืงืกื˜. ืœื“ื•ื’ืžื”, ื›ืืฉืจ ืฉื•ืœื—ื™ื ื‘ืœื•ืง ืขื ืžื™ืœื™ื•ืŸ ืขืกืงืื•ืช, ื”ื ืชื•ื ื™ื ื‘ื˜ืงืกื˜ ื™ื›ื•ืœื™ื ืœืชืคื•ืก ื™ื•ืชืจ ืž-1 ืžื’ื”-ื‘ื™ื™ื˜.

3. ืฉื™ื ื•ื™ ืžืชืžื™ื“ ืฉืœ ื ืชื•ื ื™ื ืžืฉืคื™ืข ืขืœ ื”ื‘ื™ืฆื•ืขื™ื.

ืœื›ืŸ, ืœืงื—ื ื• ื›ื‘ืกื™ืก ืืช ื”ืคืจื•ื˜ื•ืงื•ืœ ื”ื‘ื™ื ืืจื™ ืฉืœื ื• ืœืื—ืกื•ืŸ ื•ื”ืขื‘ืจืช ื ืชื•ื ื™ื, ืฉืคื•ืชื— ืขืœ ื‘ืกื™ืก ืกืคืจื™ื™ืช `ื‘ื™ื ืืจื™-ื ืชื•ื ื™ื` ื”ื ืคืœืื”.

ื›ืชื•ืฆืื” ืžื›ืš, ืงื™ื‘ืœื ื• ืืช ืžื‘ื ื™ ื”ื ืชื•ื ื™ื ื”ื‘ืื™ื:

-ืขึดืกืงึธื”

  ```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)` ืื ื• ืžืžื™ืจื™ื ืืช ื”ื ืชื•ื ื™ื ืœ`Buffer` ืœืฆื•ืจืš ืฉืžื™ืจื” ื‘-Redis ืื• ื”ืขื‘ืจื” ืœืฆื•ืžืช ืื—ืจ ื•ืื—ื–ื•ืจ ื”- ื ืชื•ื ื™ื ื‘ื—ื–ืจื”.

ื™ืฉ ืœื ื• ื’ื 2 ืคืจื•ื˜ื•ืงื•ืœื™ื ื‘ื™ื ืืจื™ื™ื ืœื”ืขื‘ืจืช ื ืชื•ื ื™ื ื‘ื™ืŸ ืฉื™ืจื•ืชื™ื:

- ืคืจื•ื˜ื•ืงื•ืœ ืœืื™ื ื˜ืจืืงืฆื™ื” ืขื 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;
  • `ืžื˜ืขืŸ` - ื ืชื•ื ื™ื ืฉื™ืฉ ืœื”ืขื‘ื™ืจ ืœืคื•ื ืงืฆื™ื” ื”ืžืชืื™ืžื”;
  • 'ืžื–ื”ื” ื”ื•ื“ืขื”' - ืžื–ื”ื” ื”ื•ื“ืขื” ื›ื“ื™ ืฉื ื™ืชืŸ ื™ื”ื™ื” ืœื–ื”ื•ืช ืืช ื”ืชื’ื•ื‘ื”.

- ืคืจื•ื˜ื•ืงื•ืœ ืœืื™ื ื˜ืจืืงืฆื™ื” ื‘ื™ืŸ ืฆืžืชื™ื

  ```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;
  • `versionProtocol` - ื’ืจืกืช ืคืจื•ื˜ื•ืงื•ืœ, ืžื›ื™ื•ื•ืŸ ืฉื ื™ืชืŸ ืœื”ืขืœื•ืช ืฆืžืชื™ื ืขื ื’ืจืกืื•ืช ืฉื•ื ื•ืช ื‘ืจืฉืช ื•ื”ื ื™ื›ื•ืœื™ื ืœืขื‘ื•ื“ ืื—ืจืช;
  • `seq` - ืžื–ื”ื” ื”ื•ื“ืขื”;
  • `countChunk` ะธ `chunkNumber` ื”ื›ืจื—ื™ ืœืคื™ืฆื•ืœ ื”ื•ื“ืขื•ืช ื’ื“ื•ืœื•ืช;
  • 'ืื•ืจืš' ะธ `ืžื˜ืขืŸ` ืื•ืจืš ื•ื”ื ืชื•ื ื™ื ืขืฆืžื.

ืžื›ื™ื•ื•ืŸ ืฉื”ืงืœื“ื ื• ืžืจืืฉ ืืช ื”ื ืชื•ื ื™ื, ื”ืžืขืจื›ืช ื”ืกื•ืคื™ืช ืžื”ื™ืจื” ื”ืจื‘ื” ื™ื•ืชืจ ืžืกืคืจื™ื™ืช `rlp` ืฉืœ Ethereum. ืœืฆืขืจื ื•, ืขื“ื™ื™ืŸ ืœื ื”ืฆืœื—ื ื• ืœืกืจื‘ ืœื•, ืฉื›ืŸ ื™ืฉ ืฆื•ืจืš ืœืกื™ื™ื ืืช ื”ื—ื•ื–ื” ื”ื—ื›ื, ืฉืื ื• ืžืชื›ื ื ื™ื ืœืขืฉื•ืช ื‘ืขืชื™ื“.

ืื ื”ืฆืœื—ื ื• ืœื”ื’ื™ืข ืœืžื”ื™ืจื•ืช 35 000 ืขืกืงืื•ืช ื‘ืฉื ื™ื™ื”, ืขืœื™ื ื• ื’ื ืœืขื‘ื“ ืื•ืชืŸ ื‘ื–ืžืŸ ื”ืื•ืคื˜ื™ืžืœื™. ืžื›ื™ื•ื•ืŸ ืฉื–ืžืŸ ื™ืฆื™ืจืช ื”ื‘ืœื•ืง ื”ืžืฉื•ืขืจ ืœื•ืงื— 30 ืฉื ื™ื•ืช, ืขืœื™ื ื• ืœื›ืœื•ืœ ื‘ื‘ืœื•ืง 1 000 000 ืขืกืงืื•ืช, ื›ืœื•ืžืจ ืœืฉืœื•ื— ื™ื•ืชืจ 100 MB ืฉืœ ื ืชื•ื ื™ื.

ื‘ืชื—ื™ืœื”, ื”ืฉืชืžืฉื ื• ื‘ืกืคืจื™ื™ืช `ethereumjs-devp2p` ื›ื“ื™ ืœืชืงืฉืจ ื‘ื™ืŸ ืฆืžืชื™ื, ืืš ื”ื™ื ืœื ื™ื›ืœื” ืœื”ืชืžื•ื“ื“ ืขื ื›ืœ ื›ืš ื”ืจื‘ื” ื ืชื•ื ื™ื. ื›ืชื•ืฆืื” ืžื›ืš, ื”ืฉืชืžืฉื ื• ื‘ืกืคืจื™ื™ืช `ws` ื•ื”ื’ื“ืจื ื• ืฉืœื™ื—ืช ื ืชื•ื ื™ื ื‘ื™ื ืืจื™ื™ื ื“ืจืš websocket. ื›ืžื•ื‘ืŸ ืฉื ืชืงืœื ื• ื‘ื‘ืขื™ื•ืช ื’ื ื‘ืฉืœื™ื—ืช ื—ื‘ื™ืœื•ืช ื ืชื•ื ื™ื ื’ื“ื•ืœื•ืช, ืื‘ืœ ื—ื™ืœืงื ื• ืื•ืชืŸ ืœื ืชื—ื™ื ื•ื›ืขืช ื”ื‘ืขื™ื•ืช ื”ืœืœื• ื ืขืœืžื•.

ื’ื ื™ืฆื™ืจืช ืขืฅ ืžืจืงืœ ื•ื—ื™ืฉื•ื‘ ื”ื—ืฉื™ืฉ 1 000 000 ืขืกืงืื•ืช ื“ื•ืจืฉื•ืช ื‘ืขืจืš 10 ืฉื ื™ื•ืช ืฉืœ ื—ื™ืฉื•ื‘ ืจืฆื™ืฃ. ื‘ืžื”ืœืš ื”ื–ืžืŸ ื”ื–ื”, ื”ืงืฉืจ ืขื ื›ืœ ื”ืฆืžืชื™ื ืžืฆืœื™ื— ืœื”ื™ืฉื‘ืจ. ื”ื•ื—ืœื˜ ืœื”ืขื‘ื™ืจ ืืช ื”ื—ื™ืฉื•ื‘ ื”ื–ื” ืœืฉืจืฉื•ืจ ื ืคืจื“.

ืžืกืงื ื•ืช:

ืœืžืขืฉื”, ื”ืžืžืฆืื™ื ืฉืœื ื• ืื™ื ื ื—ื“ืฉื™ื, ืืš ืžืฉื•ื ืžื” ืžื•ืžื—ื™ื ืจื‘ื™ื ืฉื•ื›ื—ื™ื ืื•ืชื ื‘ืขืช ื”ืคื™ืชื•ื—.

  • ืฉื™ืžื•ืฉ ื‘ืชื›ื ื•ืช ืคื•ื ืงืฆื™ื•ื ืœื™ ื‘ืžืงื•ื ืชื›ื ื•ืช ืžื•ื ื—ื” ืขืฆืžื™ื ืžืฉืคืจ ืืช ื”ืคืจื•ื“ื•ืงื˜ื™ื‘ื™ื•ืช.
  • ื”ืžื•ื ื•ืœื™ื˜ ื’ืจื•ืข ื™ื•ืชืจ ืžืืจื›ื™ื˜ืงื˜ื•ืจืช ืฉื™ืจื•ืช ืขื‘ื•ืจ ืžืขืจื›ืช NodeJS ืคืจื•ื“ื•ืงื˜ื™ื‘ื™ืช.
  • ืฉื™ืžื•ืฉ ื‘-worker_threads ืœื—ื™ืฉื•ื‘ ื›ื‘ื“ ืžืฉืคืจ ืืช ื”ื™ืขื ื•ืช ื”ืžืขืจื›ืช, ื‘ืžื™ื•ื—ื“ ื›ืืฉืจ ืขื•ืกืงื™ื ื‘ืคืขื•ืœื•ืช I/O.
  • ืฉืงืข ื™ื•ื ื™ืงืก ื™ืฆื™ื‘ ื•ืžื”ื™ืจ ื™ื•ืชืจ ืžื‘ืงืฉื•ืช http.
  • ืื ืืชื” ืฆืจื™ืš ืœื”ืขื‘ื™ืจ ื ืชื•ื ื™ื ื’ื“ื•ืœื™ื ื‘ืžื”ื™ืจื•ืช ื“ืจืš ื”ืจืฉืช, ืขื“ื™ืฃ ืœื”ืฉืชืžืฉ ื‘-websockets ื•ืœืฉืœื•ื— ื ืชื•ื ื™ื ื‘ื™ื ืืจื™ื™ื, ืžื—ื•ืœืงื™ื ืœื ืชื—ื™ื, ืื•ืชื ื ื™ืชืŸ ืœื”ืขื‘ื™ืจ ืื ื”ื ืœื ืžื’ื™ืขื™ื, ื•ืื– ืœืฉืœื‘ ืื•ืชื ืœื”ื•ื“ืขื” ืื—ืช.

ืื ื• ืžื–ืžื™ื ื™ื ืืชื›ื ืœื‘ืงืจ GitHub ืคึผืจื•ึนื™ึถืงื˜: https://github.com/opporty-com/Plasma-Cash/tree/new-version

ื”ืžืืžืจ ื ื›ืชื‘ ื‘ืฉื™ืชื•ืฃ ืืœื›ืกื ื“ืจ ื ืฉื™ื‘ืืŸ, ืžืคืชื— ื‘ื›ื™ืจ Clever Solution Inc.

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”