{"id":284653,"date":"2017-04-08T18:40:02","date_gmt":"2017-04-08T14:40:02","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=284653"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=284653","title":{"rendered":"\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0447\u0435\u0441\u0442\u043d\u043e\u0441\u0442\u044c \u0438\u0433\u0440\u044b \u0432 \u0440\u0443\u043b\u0435\u0442\u043a\u0443 \u043d\u0430 \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u0435 Ethereum"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/d29\/110\/fbb\/d29110fbb5884dc98cc1c8b4a1426072.png\"\/><\/p>\n<p>  \u041c\u0430\u043b\u043e \u043a\u0442\u043e \u043d\u044b\u043d\u0447\u0435 \u043d\u0435 \u0441\u043b\u044b\u0448\u0430\u043b \u043e \u043a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442\u0430\u0445 \u0438, \u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438, Bitcoin. \u0412 2014-\u043c \u0433\u043e\u0434\u0443, \u043d\u0430 \u0432\u043e\u043b\u043d\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0430 \u043a \u0431\u0438\u0442\u043a\u043e\u0438\u043d\u0443, \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u043d\u043e\u0432\u0430\u044f \u043a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442\u0430 \u2014 Ethereum. \u0421\u0435\u0433\u043e\u0434\u043d\u044f, \u0432 2017-\u043c, \u043e\u043d\u0430 <a href=\"https:\/\/coinmarketcap.com\">\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f<\/a> \u0432\u0442\u043e\u0440\u043e\u0439 \u043f\u043e \u043a\u0430\u043f\u0438\u0442\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u043e\u0441\u043b\u0435 \u0431\u0438\u0442\u043a\u043e\u0438\u043d\u0430. \u041e\u0434\u043d\u0438\u043c \u0438\u0437 \u0432\u0430\u0436\u043d\u0435\u0439\u0448\u0438\u0445 \u0435\u0451 \u043e\u0442\u043b\u0438\u0447\u0438\u0439 \u043e\u0442 \u0431\u0438\u0442\u043a\u043e\u0438\u043d\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0442\u044c\u044e\u0440\u0438\u043d\u0433-\u043f\u043e\u043b\u043d\u043e\u0439 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b \u2014 EVM. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043f\u0440\u043e \u044d\u0444\u0438\u0440 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0432 \u0435\u0433\u043e <a href=\"https:\/\/ethereum.github.io\/yellowpaper\/paper.pdf\">Yellow Paper<\/a>.<\/p>\n<p>  \u0421\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u044b Ethereum \u043e\u0431\u044b\u0447\u043d\u043e \u043f\u0438\u0448\u0443\u0442 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 <a href=\"https:\/\/solidity.readthedocs.io\">Solidity<\/a>. \u041d\u0430 \u0425\u0430\u0431\u0440\u0435 \u0443\u0436\u0435 \u0431\u044b\u043b\u0438 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u0440\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u043e\u0432, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 <a href=\"https:\/\/habrahabr.ru\/post\/312008\/\">1<\/a>, <a href=\"https:\/\/habrahabr.ru\/post\/321362\/\">2<\/a>, <a href=\"https:\/\/habrahabr.ru\/company\/neobit\/blog\/324456\/\">3<\/a>. \u0410 \u043f\u0440\u043e \u0441\u0432\u044f\u0437\u044c \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u0430 \u0441 \u0441\u0430\u0439\u0442\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <a href=\"https:\/\/blog.ethereum.org\/2016\/07\/12\/build-server-less-applications-mist\/\">\u0441\u0442\u0430\u0442\u044c\u044e \u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u043f\u0440\u043e\u0441\u0442\u0435\u0439\u0448\u0435\u0439 \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u043b\u043a\u0438 \u043d\u0430 \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u0435<\/a>. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u0432 \u043a\u043e\u0448\u0435\u043b\u0451\u043a Mist \u0431\u0440\u043e\u0443\u0437\u0435\u0440, \u043d\u043e \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u043c\u043e\u0436\u043d\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043f\u043b\u0430\u0433\u0438\u043d\u0443 \u043a Chrome, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 <a href=\"https:\/\/metamask.io\">MetaMask<\/a>.<br \/>  <a name=\"habracut\"><\/a><br \/>  \u0418\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043a, \u0447\u0435\u0440\u0435\u0437 MetaMask, \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438\u0433\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c.<\/p>\n<p>  \u0418\u0433\u0440\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%A0%D1%83%D0%BB%D0%B5%D1%82%D0%BA%D0%B0#.D0.95.D0.B2.D1.80.D0.BE.D0.BF.D0.B5.D0.B9.D1.81.D0.BA.D0.B0.D1.8F_.D1.80.D1.83.D0.BB.D0.B5.D1.82.D0.BA.D0.B0\">\u0435\u0432\u0440\u043e\u043f\u0435\u0439\u0441\u043a\u043e\u0439 \u0440\u0443\u043b\u0435\u0442\u043a\u0438<\/a>: \u043d\u0430 \u043f\u043e\u043b\u0435 37 \u043a\u043b\u0435\u0442\u043e\u043a, \u043f\u0440\u043e\u043d\u0443\u043c\u0435\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043e\u0442 0 \u0434\u043e 36. \u041c\u043e\u0436\u043d\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0441\u0442\u0430\u0432\u043a\u0443 \u043d\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u043b\u0438\u0431\u043e \u043d\u0430 \u043d\u0430\u0431\u043e\u0440 \u043d\u043e\u043c\u0435\u0440\u043e\u0432: \u0447\u0451\u0442\u043d\u044b\u0435\/\u043d\u0435\u0447\u0451\u0442\u043d\u044b\u0435, \u043a\u0440\u0430\u0441\u043d\u043e\u0435\/\u0447\u0435\u0440\u043d\u043e\u0435, 1-12, 1-18 \u0438 \u0442.\u0434. \u0412 \u043a\u0430\u0436\u0434\u043e\u043c \u0440\u0430\u0443\u043d\u0434\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0442\u0430\u0432\u043e\u043a \u043f\u0443\u0442\u0451\u043c \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0436\u0435\u0442\u043e\u043d\u0430 (\u0441\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u044c\u044e 0.01 ETH \u2248 $0.5) \u043d\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0435 \u043f\u043e\u043b\u0435 \u0438\u0433\u0440\u043e\u0432\u043e\u0433\u043e \u0441\u0442\u043e\u043b\u0430. \u041a\u0430\u0436\u0434\u043e\u043c\u0443 \u043f\u043e\u043b\u044e \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442 \u0432\u044b\u0438\u0433\u0440\u044b\u0448\u0430. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u0442\u0430\u0432\u043a\u0435 \u00ab\u043d\u0430 \u043a\u0440\u0430\u0441\u043d\u043e\u0435\u00bb \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442 2 \u2014 \u0442\u043e \u0435\u0441\u0442\u044c \u0437\u0430\u043f\u043b\u0430\u0442\u0438\u0432 0.01 ETH \u0432\u044b, \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0432\u044b\u0438\u0433\u0440\u044b\u0448\u0430, \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 0.02 ETH. \u0410 \u0435\u0441\u043b\u0438 \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u0435 \u043d\u0430 \u0437\u0435\u0440\u043e, \u0442\u043e \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442 \u0431\u0443\u0434\u0435\u0442 36: \u0437\u0430\u043f\u043b\u0430\u0442\u0438\u0432 \u0442\u043e\u0442 \u0436\u0435 0.01 ETH \u0437\u0430 \u0441\u0442\u0430\u0432\u043a\u0443 \u0432\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 0.36 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0432\u044b\u0438\u0433\u0440\u044b\u0448\u0430.<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438, \u043f\u0440\u0430\u0432\u0434\u0430, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0434\u0440\u0443\u0433\u043e\u0435 \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435: 35:1<\/b><\/p>\n<div class=\"spoiler_text\">\u0412 \u043a\u043e\u0434\u0435 \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u0430 \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442 \u0434\u043b\u044f \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0432\u043a\u0438 \u0442\u043e\u0436\u0435 \u0443\u043a\u0430\u0437\u0430\u043d \u043a\u0430\u043a 35, \u0430 \u043a \u0441\u0443\u043c\u043c\u0435 \u0432\u044b\u0438\u0433\u0440\u044b\u0448\u0430, \u043f\u0435\u0440\u0435\u0434 \u0432\u044b\u043f\u043b\u0430\u0442\u043e\u0439, \u043f\u0440\u0438\u0431\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0443\u043c\u043c\u0430 \u0441\u0442\u0430\u0432\u043a\u0438. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0432 \u0438\u0433\u0440\u043e\u0432\u043e\u043c \u043c\u0438\u0440\u0435 \u043f\u0440\u0438\u043d\u044f\u0442\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043a\u043e\u0435 \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u043d\u043e \u043c\u043d\u0435 \u043b\u043e\u0433\u0438\u0447\u043d\u0435\u0435 \u0441\u0440\u0430\u0437\u0443 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c 36.  <\/div>\n<\/div>\n<p>  \u041a\u043e\u0433\u0434\u0430 \u0432\u0441\u0435 \u0441\u0442\u0430\u0432\u043a\u0438 \u0441\u0434\u0435\u043b\u0430\u043d\u044b, \u0438\u0433\u0440\u043e\u043a \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u0442 \u043a\u043d\u043e\u043f\u043a\u0443 \u00ab\u0418\u0433\u0440\u0430\u0442\u044c\u00bb \u0438, \u0447\u0435\u0440\u0435\u0437 MetaMask, \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u043f\u0430\u0440\u0438* \u0432 Ethereum-\u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d, \u043d\u0430 \u0430\u0434\u0440\u0435\u0441 \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u0430 \u0438\u0433\u0440\u044b. \u041a\u043e\u043d\u0442\u0440\u0430\u043a\u0442 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0432\u044b\u043f\u0430\u0432\u0448\u0435\u0435 \u0447\u0438\u0441\u043b\u043e, \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0441\u0442\u0430\u0432\u043e\u043a \u0438, \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438, \u043e\u0442\u0441\u044b\u043b\u0430\u0435\u0442 \u0432\u044b\u0438\u0433\u0440\u044b\u0448 \u0438\u0433\u0440\u043e\u043a\u0443.<br \/>  <sub>* \u2014 \u042f \u0431\u0443\u0434\u0443 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u0435\u0440\u043c\u0438\u043d <i>\u043f\u0430\u0440\u0438<\/i> \u0434\u043b\u044f \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043d\u0430\u0431\u043e\u0440\u0430 \u0441\u0442\u0430\u0432\u043e\u043a (\u0442.\u0435. \u043f\u0430\u0440 \u0442\u0438\u043f \u0441\u0442\u0430\u0432\u043a\u0438 \u2014 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0436\u0435\u0442\u043e\u043d\u043e\u0432 \u043d\u0430 \u0441\u0442\u0430\u0432\u043a\u0443), \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0433\u0440\u043e\u043a \u0434\u0435\u043b\u0430\u0435\u0442 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043e\u0434\u043d\u043e\u0433\u043e \u0440\u0430\u0443\u043d\u0434\u0430. \u0415\u0441\u043b\u0438 \u0432\u044b \u0437\u043d\u0430\u0435\u0442\u0435 \u0431\u043e\u043b\u0435\u0435 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0439 \u0442\u0435\u0440\u043c\u0438\u043d, \u043d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u043c\u043d\u0435 \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u044f \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u044e.<\/sub><\/p>\n<p>  \u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043d\u044f\u0442\u044c \u0447\u0435\u0441\u0442\u043d\u043e \u043b\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438\u0433\u0440\u0430 (\u0442\u043e \u0435\u0441\u0442\u044c, \u043d\u0435 \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u0438\u0440\u0443\u0435\u0442 \u043b\u0438 \u043a\u0430\u0437\u0438\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435\u043c \u0432\u044b\u043f\u0430\u0432\u0448\u0435\u0433\u043e \u0447\u0438\u0441\u043b\u0430 \u0432 \u0441\u0432\u043e\u044e \u043f\u043e\u043b\u044c\u0437\u0443) \u043f\u0440\u043e\u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u0443 \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u0430.<\/p>\n<p>  \u0415\u0433\u043e \u0430\u0434\u0440\u0435\u0441 \u0443\u043a\u0430\u0437\u0430\u043d \u043d\u0430 \u0441\u0430\u0439\u0442\u0435 \u0438\u0433\u0440\u044b. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043d\u0430 \u043a\u0430\u043a\u043e\u0439 \u0430\u0434\u0440\u0435\u0441 \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e \u043f\u0430\u0440\u0438. \u042f \u043f\u0440\u043e\u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u044e \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442 \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 <a href=\"https:\/\/etherscan.io\/address\/0xDfC328c19C8De45ac0117f836646378c10e0CdA3#code\">0xDfC328c19C8De45ac0117f836646378c10e0CdA3<\/a>. Etherscan \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0435\u0433\u043e \u043a\u043e\u0434, \u0430 \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <a href=\"https:\/\/ethereum.github.io\/browser-solidity\/\">Solidity Browser<\/a>.<\/p>\n<p>  \u0420\u0430\u0431\u043e\u0442\u0430 \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u0430 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 \u0432\u044b\u0437\u043e\u0432\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 <i>placeBet()<\/i>:<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0440\u043e\u0441\u0442\u044b\u043d\u044f \u043a\u043e\u0434\u0430<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code>function placeBet(uint256 bets, bytes32 values1,bytes32 values2) public payable {    if (ContractState == false)    {      ErrorLog(msg.sender, &quot;ContractDisabled&quot;);      if (msg.sender.send(msg.value) == false) throw;      return;    }     var gamblesLength = gambles.length;     if (gamblesLength &gt; 0)    {       uint8 gamblesCountInCurrentBlock = 0;       for(var i = gamblesLength - 1;i &gt; 0; i--)       {         if (gambles[i].blockNumber == block.number)          {            if (gambles[i].player == msg.sender)            {                ErrorLog(msg.sender, &quot;Play twice the same block&quot;);                if (msg.sender.send(msg.value) == false) throw;                return;            }             gamblesCountInCurrentBlock++;            if (gamblesCountInCurrentBlock &gt;= maxGamblesPerBlock)            {               ErrorLog(msg.sender, &quot;maxGamblesPerBlock&quot;);               if (msg.sender.send(msg.value) == false) throw;               return;            }         }         else         {            break;         }       }    }        var _currentMaxBet = currentMaxBet;     if (msg.value &lt; _currentMaxBet\/256 || bets == 0)    {       ErrorLog(msg.sender, &quot;Wrong bet value&quot;);       if (msg.sender.send(msg.value) == false) throw;       return;    }     if (msg.value &gt; _currentMaxBet)    {       ErrorLog(msg.sender, &quot;Limit for table&quot;);       if (msg.sender.send(msg.value) == false) throw;       return;    }     GameInfo memory g = GameInfo(msg.sender, block.number, 37, bets, values1,values2);     if (totalBetValue(g) != msg.value)    {       ErrorLog(msg.sender, &quot;Wrong bet value&quot;);       if (msg.sender.send(msg.value) == false) throw;       return;    }            address affiliate = 0;    uint16 coef_affiliate = 0;    uint16 coef_player;    if (address(smartAffiliateContract) &gt; 0)    {              (affiliate, coef_affiliate, coef_player) = smartAffiliateContract.getAffiliateInfo(msg.sender);       }    else    {      coef_player = CoefPlayerEmission;    }     uint256 playerTokens;    uint8 errorCodeEmission;        (playerTokens, errorCodeEmission) = smartToken.emission(msg.sender, affiliate, msg.value, coef_player, coef_affiliate);    if (errorCodeEmission != 0)    {       if (errorCodeEmission == 1)          ErrorLog(msg.sender, &quot;token operations stopped&quot;);       else if (errorCodeEmission == 2)          ErrorLog(msg.sender, &quot;contract is not in a games list&quot;);       else if (errorCodeEmission == 3)          ErrorLog(msg.sender, &quot;incorect player address&quot;);       else if (errorCodeEmission == 4)          ErrorLog(msg.sender, &quot;incorect value bet&quot;);       else if (errorCodeEmission == 5)          ErrorLog(msg.sender, &quot;incorect Coefficient emissions&quot;);              if (msg.sender.send(msg.value) == false) throw;       return;    }     gambles.push(g);     PlayerBet(gamblesLength, playerTokens);  } <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u0414\u043b\u044f \u043d\u043e\u0432\u0438\u0447\u043a\u043e\u0432 \u0432 Solidity \u043f\u043e\u044f\u0441\u043d\u044e, \u0447\u0442\u043e \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u044b public \u0438 payable \u043e\u0437\u043d\u0430\u0447\u0430\u044e\u0442, \u0447\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0447\u0430\u0441\u0442\u044c\u044e API \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u0430 \u0438 \u0447\u0442\u043e \u043f\u0440\u0438 \u0435\u0451 \u0432\u044b\u0437\u043e\u0432\u0435 \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u044d\u0444\u0438\u0440. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e\u0431 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u0435\u043b\u0435 \u0438 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u044d\u0444\u0438\u0440\u0430 \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0447\u0435\u0440\u0435\u0437 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e msg.<\/p>\n<p>  \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 \u0432\u044b\u0437\u043e\u0432\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0431\u0438\u0442\u043e\u0432\u0430\u044f \u043c\u0430\u0441\u043a\u0430 \u0442\u0438\u043f\u043e\u0432 \u0441\u0442\u0430\u0432\u043e\u043a \u0438 \u0434\u0432\u0430 32-\u0431\u0430\u0439\u0442\u043d\u044b\u0445 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0441 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u0436\u0435\u0442\u043e\u043d\u043e\u0432 \u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u0442\u0438\u043f\u043e\u0432. \u0414\u043e\u0433\u0430\u0434\u0430\u0442\u044c\u0441\u044f \u043e\u0431 \u044d\u0442\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0432 \u043d\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0442\u0438\u043f\u0430 <i>GameInfo<\/i> \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 <i>getBetValueByGamble()<\/i>, <i>getBetValue()<\/i>.<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0415\u0449\u0451 \u043e\u0434\u043d\u0430 \u043f\u0440\u043e\u0441\u0442\u044b\u043d\u044f \u043a\u043e\u0434\u0430, \u043f\u043e\u043c\u0435\u043d\u044c\u0448\u0435<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code>struct GameInfo {     address player;     uint256 blockNumber;     uint8 wheelResult;     uint256 bets;     bytes32 values;     bytes32 values2; } <\/code><\/pre>\n<p>  <\/p>\n<pre><code>\/\/ n - number player bet \/\/ nBit - betIndex function getBetValueByGamble(GameInfo memory gamble, uint8 n, uint8 nBit) private constant returns (uint256)  {   if (n &lt;= 32) return getBetValue(gamble.values , n, nBit);   if (n &lt;= 64) return getBetValue(gamble.values2, n - 32, nBit);   \/\/ there are 64 maximum unique bets (positions) in one game   throw; } <\/code><\/pre>\n<pre><code>\/\/ n form 1 &lt;= to &lt;= 32 function getBetValue(bytes32 values, uint8 n, uint8 nBit) private constant returns (uint256) {     \/\/ bet in credits (1..256)      uint256 bet = uint256(values[32 - n]) + 1;      if (bet &lt; uint256(minCreditsOnBet[nBit]+1)) throw;   \/\/default: bet &lt; 0+1     if (bet &gt; uint256(256-maxCreditsOnBet[nBit])) throw; \/\/default: bet &gt; 256-0            return currentMaxBet * bet \/ 256;         } <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u041e\u0442\u043c\u0435\u0447\u0443, \u0447\u0442\u043e getBetValue() \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u0443\u043c\u043c\u0443 \u0441\u0442\u0430\u0432\u043a\u0438 \u0443\u0436\u0435 \u043d\u0435 \u0432 \u0436\u0435\u0442\u043e\u043d\u0430\u0445, \u0430 \u0432 wei. \u0414\u0430\u043b\u0435\u0435 \u0438\u0434\u0451\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430, \u0447\u0442\u043e \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442 \u043d\u0435 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d \u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442\u0441\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0441\u0430\u043c\u043e\u0433\u043e \u043f\u0430\u0440\u0438. \u041c\u0430\u0441\u0441\u0438\u0432 <i>gambles<\/i> \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435\u043c \u0432\u0441\u0435\u0445 \u0441\u044b\u0433\u0440\u0430\u043d\u043d\u044b\u0445 \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u0435 \u043f\u0430\u0440\u0438. <i>placeBet()<\/i> \u043d\u0430\u0445\u043e\u0434\u0438\u0442 \u0432\u0441\u0435 \u043f\u0430\u0440\u0438 \u0432 \u0441\u0432\u043e\u0451\u043c \u0431\u043b\u043e\u043a\u0435 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u043d\u0435 \u043f\u0440\u0438\u0441\u044b\u043b\u0430\u043b \u043b\u0438 \u0434\u0430\u043d\u043d\u044b\u0439 \u0438\u0433\u0440\u043e\u043a \u0434\u0440\u0443\u0433\u043e\u0435 \u043f\u0430\u0440\u0438 \u0432 \u044d\u0442\u043e\u043c \u0431\u043b\u043e\u043a\u0435 \u0438 \u043d\u0435 \u043f\u0440\u0435\u0432\u044b\u0448\u0435\u043d\u043e \u043b\u0438 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u0430\u0440\u0438 \u043d\u0430 \u0431\u043b\u043e\u043a. \u0417\u0430\u0442\u0435\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u044e\u0442\u0441\u044f \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u043d\u0430 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u0443\u044e \u0438 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0443\u044e \u0441\u0443\u043c\u043c\u0443 \u0441\u0442\u0430\u0432\u043a\u0438.<\/p>\n<p>  \u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u043b\u044e\u0431\u043e\u0439 \u043e\u0448\u0438\u0431\u043a\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u0430 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 throw, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u0442\u043a\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044f \u044d\u0444\u0438\u0440 \u0438\u0433\u0440\u043e\u043a\u0443.<\/p>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e\u0442\u0441\u044f \u0432 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 <i>GameInfo<\/i>.\u0417\u0434\u0435\u0441\u044c \u043d\u0430\u043c \u0432\u0430\u0436\u043d\u043e, \u0447\u0442\u043e \u043f\u043e\u043b\u0435 <i>wheelResult<\/i> \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0447\u0438\u0441\u043b\u043e\u043c 37.<\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0435\u0449\u0451 \u043e\u0434\u043d\u043e\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438, \u0447\u0442\u043e \u0441\u0443\u043c\u043c\u0430 \u0441\u0442\u0430\u0432\u043e\u043a \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u0441 \u043f\u0440\u0438\u0441\u043b\u0430\u043d\u043d\u044b\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u044d\u0444\u0438\u0440\u0430 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0442\u043e\u043a\u0435\u043d\u043e\u0432 RLT, \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0440\u0435\u0444\u0435\u0440\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430, \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u043f\u0430\u0440\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u0432 <i>gambles<\/i> \u0438 \u0441\u043e\u0437\u0434\u0430\u0451\u0442\u0441\u044f \u0441\u043e\u0431\u044b\u0442\u0438\u0435 PlayerBet \u0441 \u043d\u043e\u043c\u0435\u0440\u043e\u043c \u0438 \u0441\u0443\u043c\u043c\u043e\u0439 \u043f\u0430\u0440\u0438, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0437\u0430\u0442\u0435\u043c \u0432\u0438\u0434\u043d\u043e \u0432 \u0432\u0435\u0431-\u0447\u0430\u0441\u0442\u0438 \u0438\u0433\u0440\u044b.<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0440\u043e \u0442\u043e\u043a\u0435\u043d\u044b<\/b><\/p>\n<div class=\"spoiler_text\">\u041f\u0440\u0438 \u043a\u0430\u0436\u0434\u043e\u0439 \u0441\u0442\u0430\u0432\u043a\u0435 \u0438\u0433\u0440\u043e\u043a\u0443 \u0432\u044b\u0434\u0430\u0451\u0442\u0441\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e RLT, Ethereum-\u0442\u043e\u043a\u0435\u043d\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0430\u0432\u043e \u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u0430 \u0442\u043e\u043a\u0435\u043d\u043e\u0432 \u043d\u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0434\u0438\u0432\u0438\u0434\u0435\u043d\u0434\u043e\u0432 \u0441 \u043f\u0440\u0438\u0431\u044b\u043b\u0438, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0439 \u0430\u0432\u0442\u043e\u0440\u0430\u043c\u0438 \u0438\u0433\u0440\u044b. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e\u0431 \u044d\u0442\u043e\u043c \u2014 \u0447\u0438\u0442\u0430\u0439\u0442\u0435 <a href=\"https:\/\/smartplay.tech\/white-paper\">White Paper.<\/a>  <\/div>\n<\/div>\n<p>  \u0414\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0430\u044f \u0436\u0438\u0437\u043d\u044c \u043f\u0430\u0440\u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f, \u043d\u0430 \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u044f \u043f\u043e\u043d\u0438\u043c\u0430\u044e, \u0441 \u0432\u044b\u0437\u043e\u0432\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 <i>ProcessGames<\/i> \u043b\u0438\u0431\u043e <i>ProcessGameExt<\/i>. \u042f \u043d\u0435 \u0432\u043f\u043e\u043b\u043d\u0435 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043b\u0441\u044f \u043a\u0430\u043a \u044d\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 (\u0435\u0441\u043b\u0438 \u043a\u0442\u043e \u0437\u043d\u0430\u0435\u0442 \u2014 \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0438\u0442\u0435 \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0434\u043e\u0431\u0430\u0432\u043b\u044e \u0432 \u0441\u0442\u0430\u0442\u044c\u044e), \u043d\u043e \u0432 \u043b\u044e\u0431\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u044d\u0442\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u0432\u044b\u0437\u043e\u0432\u0443 <i>ProcessGame<\/i> \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u0430\u0440\u0438.<\/p>\n<pre><code>function ProcessGame(uint256 index, uint256 delay) private returns (GameStatus) {               GameInfo memory g = gambles[index];   if (block.number - g.blockNumber &gt;= 256) return GameStatus.Stop;    if (g.wheelResult == 37 && block.number &gt; g.blockNumber + delay)   {                  gambles[index].wheelResult = getRandomNumber(g.player, g.blockNumber);                    uint256 playerWinnings = getGameResult(gambles[index]);      if (playerWinnings &gt; 0)       {         if (g.player.send(playerWinnings) == false) throw;      }       EndGame(g.player, gambles[index].wheelResult, index);      return GameStatus.Success;   }    return GameStatus.Skipped; } <\/code><\/pre>\n<p>  \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 \u0432\u044b\u0437\u043e\u0432\u0430 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043d\u043e\u043c\u0435\u0440 \u0441\u0442\u0430\u0432\u043a\u0438 \u0438 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0431\u043b\u043e\u043a\u043e\u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u043f\u0440\u043e\u0439\u0442\u0438 \u043c\u0435\u0436\u0434\u0443 \u0441\u0442\u0430\u0432\u043a\u043e\u0439 \u0438 \u0435\u0451 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439. \u041f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 \u0438\u0437 <i>ProcessGames()<\/i> \u0438\u043b\u0438 <i>ProcessGameExt()<\/i> \u044d\u0442\u043e\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0432 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0440\u0430\u0432\u0435\u043d 1, \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u043d\u043e \u0443\u0437\u043d\u0430\u0442\u044c \u0438\u0437 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0432\u044b\u0437\u043e\u0432\u0430 <i>getSettings()<\/i>.<\/p>\n<p>  \u0412 \u0441\u043b\u0443\u0447\u0430\u0435, \u0435\u0441\u043b\u0438 \u043d\u043e\u043c\u0435\u0440 \u0431\u043b\u043e\u043a\u0430, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430, \u0431\u043e\u043b\u044c\u0448\u0435 \u0447\u0435\u043c \u043d\u0430 255 \u0431\u043b\u043e\u043a\u043e\u0432 \u043e\u0442\u0441\u0442\u043e\u0438\u0442 \u043e\u0442 \u0431\u043b\u043e\u043a\u0430 \u043f\u0430\u0440\u0438, \u043e\u043d\u043e \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043e: <a href=\"http:\/\/solidity.readthedocs.io\/en\/develop\/units-and-global-variables.html#block-and-transaction-properties\">\u0445\u044d\u0448 \u0431\u043b\u043e\u043a\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0445 256 \u0431\u043b\u043e\u043a\u043e\u0432<\/a>, \u0430 \u043e\u043d \u043d\u0443\u0436\u0435\u043d \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0432\u044b\u043f\u0430\u0432\u0448\u0435\u0433\u043e \u0447\u0438\u0441\u043b\u0430.<\/p>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0435 \u0431\u044b\u043b \u043b\u0438 \u0443\u0436\u0435 \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u043d \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0438\u0433\u0440\u044b (\u043f\u043e\u043c\u043d\u0438\u0442\u0435, wheelResult \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0440\u043e\u0432\u0430\u043b\u0441\u044f \u0447\u0438\u0441\u043b\u043e\u043c 37, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u044b\u043f\u0430\u0441\u0442\u044c \u043d\u0435 \u043c\u043e\u0436\u0435\u0442?) \u0438 \u043f\u0440\u043e\u0448\u043b\u043e \u043b\u0438 \u0443\u0436\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0431\u043b\u043e\u043a\u043e\u0432.<\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u044b, \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0432\u044b\u0437\u043e\u0432 getRandomNumber() \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0432\u044b\u043f\u0430\u0432\u0448\u0435\u0433\u043e \u0447\u0438\u0441\u043b\u0430, \u0432\u044b\u0437\u043e\u0432\u043e\u043c getGameResult() \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432\u044b\u0439\u0433\u0440\u044b\u0448. \u0415\u0441\u043b\u0438 \u043e\u043d \u043d\u0435 \u043d\u0443\u043b\u0435\u0432\u043e\u0439, \u044d\u0444\u0438\u0440 \u043f\u043e\u0441\u044b\u043b\u0430\u0435\u0442\u0441\u044f \u0438\u0433\u0440\u043e\u043a\u0443: <i>g.player.send(playerWinnings)<\/i>. \u0417\u0430\u0442\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u0451\u0442\u0441\u044f \u0441\u043e\u0431\u044b\u0442\u0438\u0435 EndGame, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u043e \u0438\u0437 \u0432\u0435\u0431-\u0447\u0430\u0441\u0442\u0438 \u0438\u0433\u0440\u044b.<\/p>\n<p>  \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0441\u0430\u043c\u043e\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435, \u0442\u043e \u043a\u0430\u043a \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u044b\u043f\u0430\u0432\u0448\u0435\u0435 \u0447\u0438\u0441\u043b\u043e: \u0444\u0443\u043d\u043a\u0446\u0438\u044e getRandomNumber().<\/p>\n<pre><code>function getRandomNumber(address player, uint256 playerblock) private returns(uint8 wheelResult) {     \/\/ block.blockhash - hash of the given block - only works for 256 most recent blocks excluding current     bytes32 blockHash = block.blockhash(playerblock+BlockDelay);           if (blockHash==0)      {       ErrorLog(msg.sender, &quot;Cannot generate random number&quot;);       wheelResult = 200;     }     else     {       bytes32 shaPlayer = sha3(player, blockHash);        wheelResult = uint8(uint256(shaPlayer)%37);     }     } <\/code><\/pre>\n<p>  \u0415\u0451 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b \u2014 \u0430\u0434\u0440\u0435\u0441 \u0438\u0433\u0440\u043e\u043a\u0430 \u0438 \u043d\u043e\u043c\u0435\u0440 \u0431\u043b\u043e\u043a\u0430, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0431\u044b\u043b\u0430 \u0441\u0434\u0435\u043b\u0430\u043d\u0430 \u0441\u0442\u0430\u0432\u043a\u0430. \u041f\u0435\u0440\u0432\u044b\u043c \u0434\u0435\u043b\u043e\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0445\u044d\u0448 \u0431\u043b\u043e\u043a\u0430, \u043e\u0442\u0441\u0442\u043e\u044f\u0449\u0435\u0433\u043e \u043e\u0442 \u0431\u043b\u043e\u043a\u0430 \u0441\u0442\u0430\u0432\u043a\u0438 \u043d\u0430 BlockDelay \u0431\u043b\u043e\u043a\u043e\u0432 \u0432 \u0431\u0443\u0434\u0443\u0449\u0435\u0435.<\/p>\n<p>  \u042d\u0442\u043e \u0432\u0430\u0436\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0435\u0441\u043b\u0438 \u0438\u0433\u0440\u043e\u043a \u0441\u043c\u043e\u0436\u0435\u0442 \u043a\u0430\u043a\u0438\u043c-\u0442\u043e \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0443\u0437\u043d\u0430\u0442\u044c \u0445\u044d\u0448 \u044d\u0442\u043e\u0433\u043e \u0431\u043b\u043e\u043a\u0430 \u0437\u0430\u0440\u0430\u043d\u0435\u0435, \u043e\u043d \u043c\u043e\u0436\u0435\u0442 \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0442\u0430\u0432\u043a\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e \u0432\u044b\u0438\u0433\u0440\u0430\u0435\u0442. \u0415\u0441\u043b\u0438 \u0432\u0441\u043f\u043e\u043c\u043d\u0438\u0442\u044c, \u0447\u0442\u043e \u0432 Ethereum \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 Uncle-\u0431\u043b\u043e\u043a\u0438, \u0442\u0443\u0442 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0438 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437.<\/p>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f SHA-3 \u043e\u0442 \u0441\u043a\u043b\u0435\u0439\u043a\u0438 \u0430\u0434\u0440\u0435\u0441\u0430 \u0438\u0433\u0440\u043e\u043a\u0430 \u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u0445\u044d\u0448\u0430 \u0431\u043b\u043e\u043a\u0430. \u0412\u044b\u043f\u0430\u0432\u0448\u0435\u0435 \u0447\u0438\u0441\u043b\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0443\u0442\u0451\u043c \u0432\u0437\u044f\u0442\u0438\u044f \u043e\u0441\u0442\u0430\u0442\u043a\u0430 \u043e\u0442 \u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 SHA-3 \u043d\u0430 37.<\/p>\n<p>  <b>\u0421 \u043c\u043e\u0435\u0439 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f, \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0432\u043f\u043e\u043b\u043d\u0435 \u0447\u0435\u0441\u0442\u043d\u044b\u0439 \u0438 \u043a\u0430\u0437\u0438\u043d\u043e \u043d\u0438\u043a\u0430\u043a\u043e\u0433\u043e \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 \u043f\u0435\u0440\u0435\u0434 \u0438\u0433\u0440\u043e\u043a\u043e\u043c \u043d\u0435 \u0438\u043c\u0435\u0435\u0442.<\/b><\/p>\n<p>  \u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u0442\u0430\u043a\u0436\u0435, \u043a\u0430\u043a \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442 \u0432\u044b\u0438\u0433\u0440\u044b\u0448\u0430. \u041a\u0430\u043a \u043c\u044b \u0432\u0438\u0434\u0435\u043b\u0438, \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u044f <i>getGameResult()<\/i>.<\/p>\n<pre><code>function getGameResult(GameInfo memory game) private constant returns (uint256 totalWin)  {     totalWin = 0;     uint8 nPlayerBetNo = 0;     \/\/ we sent count bets at last byte      uint8 betsCount = uint8(bytes32(game.bets)[0]);      for(uint8 i=0; i&lt;maxTypeBets; i++)     {                               if (isBitSet(game.bets, i))         {                         var winMul = winMatrix.getCoeff(getIndex(i, game.wheelResult)); \/\/ get win coef           if (winMul &gt; 0) winMul++; \/\/ + return player bet           totalWin += winMul * getBetValueByGamble(game, nPlayerBetNo+1,i);           nPlayerBetNo++;             if (betsCount == 1) break;           betsCount--;         }     }         } <\/code><\/pre>\n<p>  \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u043c \u0441\u044e\u0434\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442\u0441\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 GameInfo \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u043e \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u043c\u043e\u043c \u043f\u0430\u0440\u0438. \u0410 \u0435\u0451 \u043f\u043e\u043b\u0435 wheelResult \u0443\u0436\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u043e \u0432\u044b\u043f\u0430\u0432\u0448\u0438\u043c \u0447\u0438\u0441\u043b\u043e\u043c.<\/p>\n<p>  \u0412\u0438\u0434\u0438\u043c \u0446\u0438\u043a\u043b \u043f\u043e \u0432\u0441\u0435\u043c \u0442\u0438\u043f\u0430\u043c \u0441\u0442\u0430\u0432\u043e\u043a, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u0431\u0438\u0442\u043e\u0432\u0430\u044f \u043c\u0430\u0441\u043a\u0430 game.bets \u0438 \u0435\u0441\u043b\u0438 \u0431\u0438\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d, \u0442\u043e \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442\u0441\u044f winMatrix.getCoeff(). winMatrix \u2014 \u044d\u0442\u043e \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442 \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 <a href=\"https:\/\/etherscan.io\/address\/0x073D6621E9150bFf9d1D450caAd3c790b6F071F2#code\">0x073D6621E9150bFf9d1D450caAd3c790b6F071F2<\/a>, \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0439 \u0432 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0435 <i>SmartRoulettee()<\/i>.<\/p>\n<p>  \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u044d\u0442\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442\u0441\u044f \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044f \u0442\u0438\u043f\u0430 \u0441\u0442\u0430\u0432\u043a\u0438 \u0438 \u0432\u044b\u043f\u0430\u0432\u0448\u0435\u0433\u043e \u0447\u0438\u0441\u043b\u0430:<\/p>\n<pre><code>\/\/ unique combination of bet and wheelResult, used for access to WinMatrix function getIndex(uint16 bet, uint16 wheelResult) private constant returns (uint16) {   return (bet+1)*256 + (wheelResult+1); } <\/code><\/pre>\n<p>  \u0420\u0430\u0437\u0431\u043e\u0440 \u043a\u043e\u0434\u0430 \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u0430 WinMatrix \u044f \u043e\u0441\u0442\u0430\u0432\u043b\u044e \u0432\u0430\u043c \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u0433\u043e \u0437\u0430\u0434\u0430\u043d\u0438\u044f, \u043d\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0442\u0430\u043c \u043d\u0435\u0442: \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043c\u0430\u0442\u0440\u0438\u0446\u0430 \u043a\u043e\u044d\u0444\u0438\u0446\u0438\u0435\u043d\u0442\u043e\u0432 \u0438 \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 getCoeff() \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043d\u0443\u0436\u043d\u044b\u0439. \u041f\u0440\u0438 \u0436\u0435\u043b\u0430\u043d\u0438\u0438 \u0435\u0433\u043e \u043b\u0435\u0433\u043a\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0432\u044b\u0437\u043e\u0432\u043e\u043c readCoeff \u0432\u0440\u0443\u0447\u043d\u0443\u044e <a href=\"https:\/\/etherscan.io\/address\/0x073D6621E9150bFf9d1D450caAd3c790b6F071F2#readContract\">\u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u0430<\/a>.<br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habrahabr.ru\/post\/325988\/\"> https:\/\/habrahabr.ru\/post\/325988\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/d29\/110\/fbb\/d29110fbb5884dc98cc1c8b4a1426072.png\"\/><\/p>\n<p>  \u041c\u0430\u043b\u043e \u043a\u0442\u043e \u043d\u044b\u043d\u0447\u0435 \u043d\u0435 \u0441\u043b\u044b\u0448\u0430\u043b \u043e \u043a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442\u0430\u0445 \u0438, \u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438, Bitcoin. \u0412 2014-\u043c \u0433\u043e\u0434\u0443, \u043d\u0430 \u0432\u043e\u043b\u043d\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0430 \u043a \u0431\u0438\u0442\u043a\u043e\u0438\u043d\u0443, \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u043d\u043e\u0432\u0430\u044f \u043a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442\u0430 \u2014 Ethereum. \u0421\u0435\u0433\u043e\u0434\u043d\u044f, \u0432 2017-\u043c, \u043e\u043d\u0430 <a href=\"https:\/\/coinmarketcap.com\">\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f<\/a> \u0432\u0442\u043e\u0440\u043e\u0439 \u043f\u043e \u043a\u0430\u043f\u0438\u0442\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u043e\u0441\u043b\u0435 \u0431\u0438\u0442\u043a\u043e\u0438\u043d\u0430. \u041e\u0434\u043d\u0438\u043c \u0438\u0437 \u0432\u0430\u0436\u043d\u0435\u0439\u0448\u0438\u0445 \u0435\u0451 \u043e\u0442\u043b\u0438\u0447\u0438\u0439 \u043e\u0442 \u0431\u0438\u0442\u043a\u043e\u0438\u043d\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0442\u044c\u044e\u0440\u0438\u043d\u0433-\u043f\u043e\u043b\u043d\u043e\u0439 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b \u2014 EVM. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043f\u0440\u043e \u044d\u0444\u0438\u0440 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0432 \u0435\u0433\u043e <a href=\"https:\/\/ethereum.github.io\/yellowpaper\/paper.pdf\">Yellow Paper<\/a>.<\/p>\n<p>  \u0421\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u044b Ethereum \u043e\u0431\u044b\u0447\u043d\u043e \u043f\u0438\u0448\u0443\u0442 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 <a href=\"https:\/\/solidity.readthedocs.io\">Solidity<\/a>. \u041d\u0430 \u0425\u0430\u0431\u0440\u0435 \u0443\u0436\u0435 \u0431\u044b\u043b\u0438 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u0440\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u043e\u0432, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 <a href=\"https:\/\/habrahabr.ru\/post\/312008\/\">1<\/a>, <a href=\"https:\/\/habrahabr.ru\/post\/321362\/\">2<\/a>, <a href=\"https:\/\/habrahabr.ru\/company\/neobit\/blog\/324456\/\">3<\/a>. \u0410 \u043f\u0440\u043e \u0441\u0432\u044f\u0437\u044c \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u0430 \u0441 \u0441\u0430\u0439\u0442\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <a href=\"https:\/\/blog.ethereum.org\/2016\/07\/12\/build-server-less-applications-mist\/\">\u0441\u0442\u0430\u0442\u044c\u044e \u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u043f\u0440\u043e\u0441\u0442\u0435\u0439\u0448\u0435\u0439 \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u043b\u043a\u0438 \u043d\u0430 \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u0435<\/a>. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u0432 \u043a\u043e\u0448\u0435\u043b\u0451\u043a Mist \u0431\u0440\u043e\u0443\u0437\u0435\u0440, \u043d\u043e \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u043c\u043e\u0436\u043d\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043f\u043b\u0430\u0433\u0438\u043d\u0443 \u043a Chrome, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 <a href=\"https:\/\/metamask.io\">MetaMask<\/a>.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-284653","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/284653","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=284653"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/284653\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=284653"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=284653"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=284653"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}