ืฉื™ืžื•ืฉ ื‘ืื•ืจืงืœ ืืงืจืื™ ืชื•ืš ืฉื™ืžื•ืฉ ื‘ื“ื•ื’ืžื” ืฉืœ ื”ื’ืจืœื”

ื‘ื•ืงืจ ืื—ื“ ื ืชืงืœืชื™ ื‘ื›ืชื‘ื” ืขืœ ืžื—ื•ืœืœ ืžืกืคืจื™ื ืืงืจืื™ื™ื ืฉื ื™ืชืŸ ืœืื™ืžื•ืช ื‘ืคืœื˜ืคื•ืจืžืช Waves blockchain.

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

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

  1. ื‘ืชื—ื™ืœืช ื”ื˜ื•ืจื ื™ืจ/ืกื‘ื‘, ืื ื• ืžื‘ืงืฉื™ื ืžื”ืื•ืจืงืœ ืืช ื”ื—ืœืง ื”ืจืืฉื•ืŸ ืฉืœ ื”ืงื•ื“ (R-code).

    ื‘ืฉืœื‘ ื–ื” ืื™ืŸ ืžื™ื“ืข ืขืœ ืžืกืคืจ ื”ืฉื—ืงื ื™ื, ืžืกืคืจ ืžืงื•ืžื•ืช ื”ืคืจืกื™ื, ื’ื•ื“ืœ ืชืฉืœื•ืžื™ ื”ืคืจืกื™ื ืื• ืงื™ื•ื ื”ื”ื’ืจืœื” ื‘ื›ืœืœ. ื”ืื•ืจืงืœ, ื‘ืืžืฆืขื•ืช ืขืกืงื”, ืžื ืคื™ืง ืงื•ื“ ืืงืจืื™ ืื™ืฉื™, ืืฉืจ ืœืื—ืจ ืžื›ืŸ ื™ื›ื•ืœ ืœืฉืžืฉ ืจืง ืคืขื ืื—ืช ื•ืจืง ืืช ืžื™ ืฉื‘ื™ืงืฉ ื–ืืช. ืื’ื‘, ื ื™ืชืŸ "ืœืจื›ื•ืฉ" R-code (ื›ืœื•ืžืจ ืขืœื•ืช ืขืกืงืช ื”ื‘ืงืฉื” + ืคื™ืฆื•ื™ ืœืื•ืจืงืœ ืขื‘ื•ืจ ืขืกืงืช ื”ืชื’ื•ื‘ื”, ืžื“ื•ื‘ืจ ื‘ืกื›ื•ื ืฉืœ ื›-$0.015 ื‘ืชืขืจื™ืฃ ื”ื ื•ื›ื—ื™, ื”ืงื•ื“ ืขืฆืžื• ืžื•ื ืคืง ืœืœื ืชืฉืœื•ื ) ืžืกืคืจ ืคืขืžื™ื ืžืจืืฉ, ื›ื“ื™ ืœื ืœื”ืžืชื™ืŸ ืœืงื‘ืœืช ืขืกืงืช ื”ืชื’ื•ื‘ื” ืžืื•ื—ืจ ื™ื•ืชืจ. ื”ื›ื ืชื™ ืžืื’ืจ ืงื˜ืŸ ืฉืžืชืขื“ื›ืŸ ื‘ืื•ืคืŸ ืงื‘ื•ืข ื‘ืžืกื“ ื”ื ืชื•ื ื™ื.

  2. ื”ื˜ื•ืจื ื™ืจ ื ืžืฉืš ื‘ื“ืจืš ื›ืœืœ 60 ื‘ืœื•ืงื™ื ืฉืœ ืคืœื˜ืคื•ืจืžืช Waves blockchain, ื›ืจื’ืข ื–ื” ื‘ืขืจืš ืฉืขื”. ื”ื˜ื•ืจื ื™ืจ ื ื—ืฉื‘ ื”ื•ืฉืœื ื•ืกื’ื•ืจ ืื ืœืื—ืจ 1 ื—ืกื™ืžื•ืช ื™ืฉ ื‘ื• ืœืคื—ื•ืช ืฉื ื™ ื›ืจื˜ื™ืกื™ื, ืื—ืจืช ื–ืžืŸ ื”ืคืขื™ืœื•ืช ื‘ื˜ื•ืจื ื™ืจ ืžื•ืืจืš ืœ-60 ื”ื—ืกื™ืžื•ืช ื”ื‘ืื•ืช.
  3. ืžื™ื“ ืœืื—ืจ ืกื’ื™ืจืช ื”ื˜ื•ืจื ื™ืจ, ืื ื• ื™ื•ืฆืจื™ื ื•ืฉื•ืœื—ื™ื ืขืกืงืช ืชืืจื™ืš (ืื ื—ื ื• ืžืฉืœืžื™ื ืขืœื™ื” ื’ื ืขืžืœื” ืฉืœ ื›-$0.005), ื‘ืžื™ื“ืช ื”ืฆื•ืจืš, ื›ืžื”, ืฉื‘ื”ืŸ ื ืจืฉืžื™ื ื›ืœ ืชื ืื™ ื”ื”ื’ืจืœื” ื•ืจืฉื™ืžืช ืฉื—ืงื ื™ื ืžืกื•ื“ืจืช (ื›ืจื˜ื™ืกื™ื) ืฉืžื”ื ืขืœื™ื ื• ืœื‘ื—ื•ืจ ืืช ื”ื–ื•ื›ื™ื.
  4. ื‘ืฉืœื‘ ื–ื”, ื™ืฉ ืœื ื• ื›ื‘ืจ ืืช ื”ื—ืœืง ื”ืจืืฉื•ืŸ ืฉืœ ื”ืงื•ื“ (R-code) ื‘ืชื•ืกืคืช ืžื–ื”ื” ืชืืจื™ืš ื”ืขืกืงื” (TXID). ืื ื—ื ื• ืฉื•ืœื—ื™ื ืื•ืชื ืœื—ืชื™ืžื” ืœืื•ืจืงืœ ื‘ืฆื•ืจื” ืฉืœ ืฉืจืฉื•ืจ (R-code + TXID), ืฉื•ื‘ ืื ื—ื ื• ืžืฉืœืžื™ื ืขืžืœื” + ืคื™ืฆื•ื™. ื”ืื•ืจืงืœ ื‘ื•ื“ืง ืืช ื”ื™ื™ื—ื•ื“ื™ื•ืช ื•ื”ืฉื™ื™ื›ื•ืช ืฉืœ ื”ื ืชื•ื ื™ื ืฉื”ืชืงื‘ืœื•, ื•ื‘ืชื’ื•ื‘ื” ืฉื•ืœื— ืœื ื• ืืช ื”ื—ืœืง ื”ืฉื ื™ ืฉืœ ื”ืงื•ื“ (S-code) ื‘ืคื•ืจืžื˜ sha256, ืฉื”ื•ื ื ืงื•ื“ืช ื”ื”ืชื—ืœื” ืฉืœ ืžื—ื•ืœืœ ื”ืžืกืคืจื™ื ื”ืืงืจืื™ื™ื.
  5. ื›ื“ื™ ืœืงื‘ืœ ืžืกืคืจ ืืงืจืื™ ืฉื™ืฆื™ื™ืŸ ืืช ืžืกืคืจ ื”ืจืฆืฃ ืฉืœ ื”ื›ืจื˜ื™ืก ื”ื–ื•ื›ื”, ื ืžื™ืจ ืืช ื”-S-code ืžื”ื ืชื•ื ื™ื ื”ื‘ื™ื ืืจื™ื™ื sha256 ืœื™ื™ืฆื•ื’ ื”ืงืกื“ืฆื™ืžืœื™ (HEX). ื•ืื– ืžืžื—ืจื•ื–ืช HEX ืฉื”ืชืงื‘ืœื”, ื ืงื‘ืœ ืžืกืคืจ. ื ืงื‘ืœ ืืช ื”ืฉืืจื™ืช ืฉืœ ื—ืœื•ืงืช ื”ืžืกืคืจ ื”ืžืชืงื‘ืœ ื‘ืžืกืคืจ ื”ื›ืจื˜ื™ืกื™ื (all_tickets) ื•ื ื•ืกื™ืฃ 1 ืœืชื•ืฆืื” (ื›ื“ื™ ืœืงื‘ืœ ืืช ื”ืžืกืคืจ 1 ืœืคื ื™ all_tickets). ื›ืชื•ืฆืื” ืžื›ืš, ืื ื• ืžืงื‘ืœื™ื ืืช ื”ืžืกืคืจ ื”ืกื™ื“ื•ืจื™ ืฉืœ ื”ื–ื•ื›ื”.
  6. ืื, ืขืœ ืคื™ ืชื ืื™ ื”ื”ื’ืจืœื”, ื™ืฉื ื ืžืกืคืจ ื–ื•ื›ื™ื, ืื ื• ื—ื•ื–ืจื™ื ืขืœ ื”ืคืขื•ืœื•ืช ื”ืงื•ื“ืžื•ืช ื‘ื›ืžื•ืช ื”ืฉื•ื•ื” ืœืžืกืคืจ ืžืงื•ืžื•ืช ื”ืคืจืก. ื‘ืžืงืจื” ื–ื”, ื‘ื›ืœ ืคืขื ืื ื• ืžืกื™ืจื™ื ืžื”ืจืฉื™ืžื” ื›ืจื˜ื™ืก ืฉื›ื‘ืจ ื–ื›ื” ื•ืžืคื—ื™ืชื™ื ืืช all_tickets ื‘-1, ื•ื‘ืžืงื•ื S-code ืื ื• ืžืฆื™ื™ื ื™ื ืืช ื”ืžืกืคืจ ื”ืงื•ื“ื ืฉื”ืชืงื‘ืœ.

ื‘ื•ืื• ื ืกืชื›ืœ ืขืœ ื“ื•ื’ืžื” ืืžื™ืชื™ืช ืกืคืฆื™ืคื™ืช, ื˜ื•ืจื ื™ืจ ืžืก' 119:

ืกื”"ื› 7 ื›ืจื˜ื™ืกื™ื (ื›ืœ_ื”ื›ืจื˜ื™ืกื™ื)
ืขืœื•ืช ื›ืจื˜ื™ืก 50 ืžื˜ื‘ืขื•ืช (ื”ื™ืžื•ืจ)
ืขืžืœืช ืžืฉื—ืง 10% (ืขืžืœื”)

ืœืคื™ ืชื ืื™ ื”ื”ื’ืจืœื” 30% ื”ื•ืœื›ื™ื ืœื›ืกืคื™ ื”ืคืจืกื™ื, ื›ืœื•ืžืจ. ื‘ืžืงืจื” ื–ื”, 2 ื›ืจื˜ื™ืกื™ื ื—ื™ื™ื‘ื™ื ืœืงื‘ืœ ืคืจืก, ืฉื’ื•ื“ืœื• ืžื—ื•ืฉื‘ ืœืคื™ ื”ื ื•ืกื—ื” (Bet*all_tickets-Fee)/2.

1. ืงื•ื“ R ืฉื”ืชืงื‘ืœ: RdbAiAhKhveAtR4eyTKq75noMxdcEoxbE6BvojJjM13VE

2. ืœืื—ืจ ืกื’ื™ืจืช ื”ื˜ื•ืจื ื™ืจ ื™ืฉ ืœื ื• ืจืฉื™ืžืช ื›ืจื˜ื™ืกื™ื ื‘ืฆื•ืจืช ื–ื•ื’ื•ืช: ืžืกืคืจ + ื›ืชื•ื‘ืช (ื›ืชื•ื‘ืช ื”ืืจื ืง ืžืžื ื• ื‘ื•ืฆืข ื”ืชืฉืœื•ื ืขื‘ื•ืจ ื”ื”ืฉืชืชืคื•ืช ื‘ื˜ื•ืจื ื™ืจ). ืฉื™ืžื• ืœื‘ ื›ื™ ื›ืชื•ื‘ื•ืช ืขืฉื•ื™ื•ืช ืœื—ื–ื•ืจ ืขืœ ืขืฆืžื•, ื”ืžืฉืžืขื•ืช ื”ื™ื ืฉืžืฉืชืชืฃ ืื—ื“ ืงื ื” ืžืกืคืจ ื›ืจื˜ื™ืกื™ื ืœื˜ื•ืจื ื™ืจ ืื—ื“; ื”ื“ื‘ืจ ืื™ื ื• ืืกื•ืจ ืขืœ ืคื™ ื”ื›ืœืœื™ื.

ืชืืจื™ืš ืฉืœื™ื—ื” ืฉืœ ื”ืขืกืงื”: 82JTMzhHM5xEA2fQ9Qscd5QAJU3DAd8nShLjdVHTer5S

3. ืงื•ื“ S ืžื‘ื•ืงืฉ: FTF3uRyaa4F2uAyD6z5a3CNbTXbQLc7fSR6CFNVjgZYV ืขื ื”ืขืจื” (R-code + TXID):
RdbAiAhKhveAtR4eyTKq75noMxdcEoxbE6BvojJjM13VE 82JTMzhHM5xEA2fQ9Qscd5QAJU3DAd8nShLjdVHTer5S

4. ืงื•ื“ S ืฉื”ืชืงื‘ืœ: Ri89jHB4UXZDXY6gT1m4LBDXGMTaYzHozMk4nxiuqVXdC

5. ื ืงื‘ืขื• ื”ื–ื•ื›ื™ื.

6. ื ืฉืœื—ื• ืชืฉืœื•ืžื™ื

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

determine the winner โ„– 1

All_tickets:
Index: 1 Ticket:139
Index: 2 Ticket:141
Index: 3 Ticket:143
Index: 4 Ticket:145
Index: 5 Ticket:147
Index: 6 Ticket:149
Index: 7 Ticket:151

1. bin -> hex ( bin2hex(sha256(S-code)) ): Ri89jHB4UXZDXY6gT1m4LBDXGMTaYzHozMk4nxiuqVXdC -> 0xdaf5802953dcb27f89972e38e8900b898733f6a613e6e1c6c5491362c1832596

2. hex -> gmp number: 0xdaf5802953dcb27f89972e38e8900b898733f6a613e6e1c6c5491362c1832596 -> 99037963059744689166154019807924045947962565922868104113173478160267437352342

3. gmp -> modulo (mod=7): 99037963059744689166154019807924045947962565922868104113173478160267437352342 -> 4

4. modulo -> ticket: 4 -> 145

determine the winner โ„– 2

All_tickets:

Index: 1 Ticket:139
Index: 2 Ticket:141
Index: 3 Ticket:143
Index: 4 Ticket:147
Index: 5 Ticket:149
Index: 6 Ticket:151

1. bin -> hex ( bin2hex(sha256(previous hex)) ): daf5802953dcb27f89972e38e8900b898733f6a613e6e1c6c5491362c1832596 -> 0x9560e77525e9ea2db92cdb8484dc52046ccafac7c719b8859ff55f0eb92834a0
2. hex -> gmp number: 0x9560e77525e9ea2db92cdb8484dc52046ccafac7c719b8859ff55f0eb92834a0 -> 67565829218838067182838043983962684143266386786567427968312120473742580659360
3. gmp -> modulo (mod=6): 67565829218838067182838043983962684143266386786567427968312120473742580659360 -> 1
4. modulo -> ticket: 1 -> 139

End.

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

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