{"id":31364,"date":"2019-10-31T21:40:52","date_gmt":"2019-10-31T18:40:52","guid":{"rendered":"https:\/\/prohoster.info\/blog\/uchimsya-pisat-waves-smart-kontrakty-na-ride-i-ride4dapps-chast-2-dao-decentralized-autonomous-organization\/"},"modified":"2019-10-31T21:40:52","modified_gmt":"2019-10-31T18:40:52","slug":"uchimsya-pisat-waves-smart-kontrakty-na-ride-i-ride4dapps-chast-2-dao-decentralized-autonomous-organization","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/novosti-interneta\/uchimsya-pisat-waves-smart-kontrakty-na-ride-i-ride4dapps-chast-2-dao-decentralized-autonomous-organization","title":{"rendered":"\u00d5ppime kirjutama Wavesi nutikaid lepinguid RIDE ja RIDE4DAPPS. Osa 2 (DAO \u2014 detsentraliseeritud autonoomne organisatsioon)","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"\u0423\u0447\u0438\u043c\u0441\u044f \u043f\u0438\u0441\u0430\u0442\u044c Waves \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u044b \u043d\u0430 RIDE \u0438 RIDE4DAPPS. \u0427\u0430\u0441\u0442\u044c 2 (DAO &mdash; Decentralized Autonomous Organization)\" src=\"\/wp-content\/uploads\/2019\/04\/74bb95028bc99ebcf03982cf3d1aaa24.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442!<\/p>\n<p><\/p>\n<p>\u0412 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/447790\/\">\u043f\u0435\u0440\u0432\u043e\u0439<\/a><\/noindex> \u0447\u0430\u0441\u0442\u0438 \u043c\u044b \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0438 \u043a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 dApp (\u0434\u0435\u0446\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c) \u0432 <noindex><a rel=\"nofollow\" href=\"https:\/\/ide.wavesplatform.com\/\">Waves RIDE IDE<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0441\u0435\u0439\u0447\u0430\u0441 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043d\u044b\u0439 <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.wavesplatform.com\/en\/smart-contracts\/ride4dapps\/examples.html\">\u043f\u0440\u0438\u043c\u0435\u0440<\/a><\/noindex>.<\/p>\n<p><\/p>\n<h4>\u042d\u0442\u0430\u043f 3. \u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 dApp \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430<\/h4>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p><img decoding=\"async\" alt=\"\u0423\u0447\u0438\u043c\u0441\u044f \u043f\u0438\u0441\u0430\u0442\u044c Waves \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u044b \u043d\u0430 RIDE \u0438 RIDE4DAPPS. \u0427\u0430\u0441\u0442\u044c 2 (DAO &mdash; Decentralized Autonomous Organization)\" src=\"\/wp-content\/uploads\/2019\/04\/1c4c57eb2c4ba74d1878c46d671e3d83.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<blockquote><p>\u041a\u0430\u043a\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441\u0440\u0430\u0437\u0443 \u0431\u0440\u043e\u0441\u0430\u044e\u0442\u0441\u044f \u043d\u0430 \u0433\u043b\u0430\u0441\u0430 \u0441 Alice <strong>dApp<\/strong> Account?<br \/>\n<strong>\u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445: <\/strong><br \/>\nBoob \u0438 Cooper \u043c\u043e\u0433\u0443\u0442 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043d\u0430 \u0430\u0434\u0440\u0435\u0441 dApp \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043e\u0431\u044b\u0447\u043d\u043e\u0439 <strong>transfer<\/strong> \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u0438, \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u043d\u0435 \u0441\u043c\u043e\u0433\u0443\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043a \u043d\u0438\u043c \u0434\u043e\u0441\u0442\u0443\u043f \u043e\u0431\u0440\u0430\u0442\u043d\u043e.<\/p>\n<p><strong>\u0412\u043e-\u0432\u0442\u043e\u0440\u044b\u0445:<\/strong><br \/>\n\u041c\u044b \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u0435\u043c Alice \u0432 \u0432\u044b\u0432\u043e\u0434\u0435 \u0441\u0440\u0435\u0434\u0441\u0442\u0432 \u0431\u0435\u0437 \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u0438\u044f \u0441 Boob \u0438\u043b\u0438(\u0438) Cooper. \u0422\u0430\u043a \u043a\u0430\u043a, \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 verify, \u0432\u0441\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u043e\u0442 Alice \u0431\u0443\u0434\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f.<\/p><\/blockquote>\n<p>\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u043c 2-\u0435, \u0437\u0430\u043f\u0440\u0435\u0442\u0438\u0432 Alice <strong>transfer<\/strong> \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438. \u0414\u0435\u043f\u043b\u043e\u0438\u043c \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442:<br \/>\n<img decoding=\"async\" alt=\"\u0423\u0447\u0438\u043c\u0441\u044f \u043f\u0438\u0441\u0430\u0442\u044c Waves \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u044b \u043d\u0430 RIDE \u0438 RIDE4DAPPS. \u0427\u0430\u0441\u0442\u044c 2 (DAO &mdash; Decentralized Autonomous Organization)\" src=\"\/wp-content\/uploads\/2019\/04\/f365ef07f1d49080a305e4746d0754fa.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n\ufffc<br \/>\n\u041f\u0440\u043e\u0431\u0443\u0435\u043c \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u043c\u043e\u043d\u0435\u0442\u044b \u0441 dApp Alice \u0438 \u0435\u0435 \u043f\u043e\u0434\u043f\u0438\u0441\u044c\u044e. \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043e\u0448\u0438\u0431\u043a\u0443:<br \/>\n<img decoding=\"async\" alt=\"\u0423\u0447\u0438\u043c\u0441\u044f \u043f\u0438\u0441\u0430\u0442\u044c Waves \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u044b \u043d\u0430 RIDE \u0438 RIDE4DAPPS. \u0427\u0430\u0441\u0442\u044c 2 (DAO &mdash; Decentralized Autonomous Organization)\" src=\"\/wp-content\/uploads\/2019\/04\/c1e3b96c955e1b26f4427e7d0d8096f8.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u041f\u0440\u043e\u0431\u0443\u0435\u043c \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 withdraw:<\/p>\n<p><\/p>\n<pre><code class=\"scala\">broadcast(invokeScript({dappAddress: address(env.accounts[1]), call:{function:\"withdraw\",args:[{type:\"integer\", value: 1000000}]}, payment: []}))<\/code><\/pre>\n<p><\/p>\n<p>\u0421\u043a\u0440\u0438\u043f\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438 \u0441\u043e 2-\u043c \u043f\u0443\u043d\u043a\u0442\u043e\u043c \u043c\u044b \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043b\u0438\u0441\u044c!<\/p>\n<p><\/p>\n<h4>\u042d\u0442\u0430\u043f 4. \u0421\u043e\u0437\u0434\u0430\u0435\u043c DAO \u0441 \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u043d\u0438\u0435\u043c<\/h4>\n<p><\/p>\n<p>\u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u0432 \u044f\u0437\u044b\u043a\u0435 RIDE \u043f\u043e\u043a\u0430 \u043d\u0435 \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u044b \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f\u043c\u0438 (\u0441\u043b\u043e\u0432\u0430\u0440\u0438-\u0441\u043b\u043e\u0432\u0430\u0440\u0435\u0439, \u0438\u0442\u0435\u0440\u0430\u0442\u043e\u0440\u044b, \u0440\u0435\u0434\u044c\u044e\u0441\u0435\u0440\u044b \u0438 \u043f\u0440\u043e\u0447). \u041e\u0434\u043d\u0430\u043a\u043e, \u0434\u043b\u044f \u043b\u044e\u0431\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0441 \u043f\u043b\u043e\u0441\u043a\u0438\u043c\u0438 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f\u043c\u0438 <strong>key-value<\/strong> \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0441\u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u043e \u0441\u0442\u0440\u043e\u043a\u0430\u043c\u0438, \u0441\u043e\u043e\u0442\u0432\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0441 \u043a\u043b\u044e\u0447\u0430\u043c\u0438 \u0438 \u0438\u0445 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u043e\u0439.<\/p>\n<p><\/p>\n<p>\u0421\u0442\u0440\u043e\u043a\u0438 \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u043e \u043a\u043e\u043d\u043a\u0430\u0442\u0435\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u0441\u0442\u0440\u043e\u043a\u0438 \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u0442\u044c \u043f\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0430\u043c.<br \/>\n\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0441\u043e\u0431\u0435\u0440\u0435\u043c \u0438 \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c \u0441\u0442\u0440\u043e\u043a\u0443 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043c \u043a\u0430\u043a \u044d\u0442\u043e \u043f\u043e\u0432\u043b\u0438\u044f\u0435\u0442 \u043d\u0430 \u0438\u0441\u0445\u043e\u0434 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438.<br \/>\n\u041c\u044b \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438\u0441\u044c \u043d\u0430 \u0442\u043e\u043c, \u0447\u0442\u043e Alice \u043d\u0435 \u043c\u043e\u0433\u043b\u0430 \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u0442\u044c Transfer \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e, \u0442\u0430\u043a \u043a\u0430\u043a \u044d\u0442\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0431\u044b\u043b\u0430 \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u0432 @verifier \u0434\u043b\u044f \u0442\u0430\u043a\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439.<\/p>\n<p><\/p>\n<p>\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0443\u043f\u0440\u0430\u0436\u043d\u044f\u0435\u043c\u0441\u044f \u0441\u043e \u0441\u0442\u0440\u043e\u043a\u0430\u043c\u0438 \u0438 \u043f\u043e\u0442\u043e\u043c \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u043c \u044d\u0442\u043e. <\/p>\n<p>\n<b class=\"spoiler_title\">RIDE Strings<\/b><\/p>\n<p>\u0422\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f \u0441\u043d\u043e\u0432\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0430, \u043c\u044b \u0443\u043c\u0435\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441\u043e \u0441\u0442\u0440\u043e\u043a\u0430\u043c\u0438.<br \/>\n<img decoding=\"async\" alt=\"\u0423\u0447\u0438\u043c\u0441\u044f \u043f\u0438\u0441\u0430\u0442\u044c Waves \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u044b \u043d\u0430 RIDE \u0438 RIDE4DAPPS. \u0427\u0430\u0441\u0442\u044c 2 (DAO &mdash; Decentralized Autonomous Organization)\" src=\"\/wp-content\/uploads\/2019\/04\/902b65d80f6678cbd9c29af0c8d4fbc8.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\ufffc<br \/>\n\u0418\u0442\u043e\u0433\u043e, \u043c\u044b \u0438\u043c\u0435\u0435\u043c \u0432\u0441\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0435 \u0434\u043b\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0441\u043b\u043e\u0436\u043d\u043e\u0439 \u043b\u043e\u0433\u0438\u043a\u0438 <strong>DAO dApp<\/strong>.<\/p>\n<p>\n<b class=\"spoiler_title\">Data Transactions<\/b><\/p>\n<p>Data Transactions:<br \/>\n\u201cThe maximum size for a key is 100 characters, and a key can contain arbitrary Unicode code points including spaces and other non-printable symbols. String values have a limit of 32,768 bytes and the maximum number of possible entries in data transaction is 100. Overall, the maximum size of a data transaction is around 140kb\u200a\u2014\u200afor reference, almost exactly the length of Shakespeare\u2019s play \u2018Romeo and Juliet\u2019.\u201d<\/p>\n<p><\/p>\n<p><u><strong>\u0421\u043e\u0437\u0434\u0430\u0435\u043c DAO \u0441\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u043c\u0438:<\/strong><\/u><br \/>\n\u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u0442\u0430\u0440\u0442\u0430\u043f\u0443 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0444\u0438\u043d\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u0432\u044b\u0437\u0432\u0430\u0432 <strong>getFunds()<\/strong> \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043c\u0438\u043d\u0438\u043c\u0443\u043c 2-\u0445 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u043e\u0432 \u2014 \u0438\u043d\u0432\u0435\u0441\u0442\u043e\u0440\u043e\u0432 DAO. <strong>\u0412\u044b\u0432\u0435\u0441\u0442\u0438<\/strong> \u043c\u043e\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0440\u043e\u0432\u043d\u043e \u0441\u0442\u043e\u043b\u044c\u043a\u043e, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432 \u0441\u0443\u043c\u043c\u0435 \u0443\u043a\u0430\u0437\u0430\u043b\u0438 \u043d\u0430 <strong>\u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u043d\u0438\u0438<\/strong> \u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u044b DAO.<\/p>\n<p><\/p>\n<blockquote><p>\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0441\u0434\u0435\u043b\u0430\u0435\u043c 3 \u0442\u0438\u043f\u0430 \u043a\u043b\u044e\u0447\u0435\u0439 \u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u043b\u043e\u0433\u0438\u043a\u0443 \u043f\u043e \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0431\u0430\u043b\u0430\u043d\u0441\u0430\u043c\u0438 \u0432 2-\u0445 \u043d\u043e\u0432\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u0445 vote \u0438 getFunds:<br \/>\nxx&#8230;xx<strong>_ia<\/strong> = \u0438\u043d\u0432\u0435\u0441\u0442\u043e\u0440\u044b, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0439 \u0431\u0430\u043b\u0430\u043d\u0441 <em>(vote, deposit, withdrawal)<\/em><br \/>\nxx\u2026xx<strong>_sv<\/strong> = \u0441\u0442\u0430\u0440\u0442\u0430\u043f\u044b, \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0433\u043e\u043b\u043e\u0441\u043e\u0432 <em>(vote, getFunds)<\/em><br \/>\nxx\u2026xx<strong>_sf<\/strong> = \u0441\u0442\u0430\u0440\u0442\u0430\u043f\u044b, \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0433\u043e\u043b\u043e\u0441\u043e\u0432 <em>(vote, getFunds)<\/em><br \/>\nxx\u2026xx = \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 (35 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432)<\/p><\/blockquote>\n<p>\u0417\u0430\u043c\u0435\u0442\u044c\u0442\u0435 \u0432 Vote \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u043b\u043e\u0441\u044c \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c \u0441\u0440\u0430\u0437\u0443 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u043b\u0435\u0439:<\/p>\n<p><\/p>\n<pre><code class=\"scala\">WriteSet([DataEntry(key1, value1), DataEntry(key2, value2)]),<\/code><\/pre>\n<p><\/p>\n<p>WriteSet \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043d\u0430\u043c \u0434\u0435\u043b\u0430\u0442\u044c \u0441\u0440\u0430\u0437\u0443 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043e\u0434\u043d\u043e\u0439 <strong>invokeScript<\/strong> \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438.<\/p>\n<p><\/p>\n<p>\u0412\u043e\u0442 \u0442\u0430\u043a \u044d\u0442\u043e \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0432 key-value \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 DAO dApp, \u043f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e \u043a\u0430\u043a Bob \u0438 Cooper \u043f\u043e\u043f\u043e\u043b\u043d\u0438\u043b\u0438 <strong>ia<\/strong>-\u0434\u0435\u043f\u043e\u0437\u0438\u0442\u044b:<br \/>\n<img decoding=\"async\" alt=\"\u0423\u0447\u0438\u043c\u0441\u044f \u043f\u0438\u0441\u0430\u0442\u044c Waves \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u044b \u043d\u0430 RIDE \u0438 RIDE4DAPPS. \u0427\u0430\u0441\u0442\u044c 2 (DAO &mdash; Decentralized Autonomous Organization)\" src=\"\/wp-content\/uploads\/2019\/04\/8708c0d724fba2f733305d98c7a32fbf.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u0424\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u0435\u043f\u043e\u0437\u0438\u0442\u0430 \u0443 \u043d\u0430\u0441 \u0441\u043b\u0435\u0433\u043a\u0430 \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0430\u0441\u044c:<br \/>\n<img decoding=\"async\" alt=\"\u0423\u0447\u0438\u043c\u0441\u044f \u043f\u0438\u0441\u0430\u0442\u044c Waves \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u044b \u043d\u0430 RIDE \u0438 RIDE4DAPPS. \u0427\u0430\u0441\u0442\u044c 2 (DAO &mdash; Decentralized Autonomous Organization)\" src=\"\/wp-content\/uploads\/2019\/04\/383bc6969d8954146ea6a829b07f9e73.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u0421\u0435\u0439\u0447\u0430\u0441 \u043d\u0430\u0441\u0442\u0443\u043f\u0430\u0435\u0442 \u0441\u0430\u043c\u044b\u0439 \u0432\u0430\u0436\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432 \u0434\u0435\u044f\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 DAO \u2014 <strong>\u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u043d\u0438\u0435<\/strong> \u0437\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u044b \u0434\u043b\u044f \u0444\u0438\u043d\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f.<\/p>\n<p><\/p>\n<p>Bob \u0433\u043e\u043b\u043e\u0441\u0443\u0435\u0442 \u0437\u0430 \u043f\u0440\u043e\u0435\u043a\u0442 Neli \u043d\u0430 500000 wavelets:<\/p>\n<p><\/p>\n<pre><code class=\"scala\">broadcast(invokeScript({dappAddress: address(env.accounts[1]), call:{function:\"vote\",args:[{type:\"integer\", value: 500000}, {type:\"string\", value: \"3MrXEKJr9nDLNyVZ1d12Mq4jjeUYwxNjMsH\"}]}, payment: []}))<\/code><\/pre>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"\u0423\u0447\u0438\u043c\u0441\u044f \u043f\u0438\u0441\u0430\u0442\u044c Waves \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u044b \u043d\u0430 RIDE \u0438 RIDE4DAPPS. \u0427\u0430\u0441\u0442\u044c 2 (DAO &mdash; Decentralized Autonomous Organization)\" src=\"\/wp-content\/uploads\/2019\/04\/77b8e201b6678a9614e0e9ad66124200.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u0412 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u044b \u0432\u0438\u0434\u0438\u043c \u0432\u0441\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0437\u0430\u043f\u0438\u0441\u0438 \u0434\u043b\u044f \u0430\u0434\u0440\u0435\u0441\u0430 Neli:<br \/>\n<img decoding=\"async\" alt=\"\u0423\u0447\u0438\u043c\u0441\u044f \u043f\u0438\u0441\u0430\u0442\u044c Waves \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u044b \u043d\u0430 RIDE \u0438 RIDE4DAPPS. \u0427\u0430\u0441\u0442\u044c 2 (DAO &mdash; Decentralized Autonomous Organization)\" src=\"\/wp-content\/uploads\/2019\/04\/655e042d4d05a6d14394b2d828065f6e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n\u041a\u0443\u043f\u0435\u0440 \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u043e\u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u043b \u0437\u0430 \u043f\u0440\u043e\u0435\u043a\u0442 Neli.<br \/>\n<img decoding=\"async\" alt=\"\u0423\u0447\u0438\u043c\u0441\u044f \u043f\u0438\u0441\u0430\u0442\u044c Waves \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u044b \u043d\u0430 RIDE \u0438 RIDE4DAPPS. \u0427\u0430\u0441\u0442\u044c 2 (DAO &mdash; Decentralized Autonomous Organization)\" src=\"\/wp-content\/uploads\/2019\/04\/1397e97702ecdd16ab24685930002caf.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0432\u0437\u0433\u043b\u044f\u043d\u0435\u043c \u043d\u0430 \u043a\u043e\u0434 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 <strong>getFunds<\/strong>. Neli \u0434\u043e\u043b\u0436\u043d\u0430 \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u043c\u0438\u043d\u0438\u043c\u0443\u043c 2 \u0433\u043e\u043b\u043e\u0441\u0430, \u0447\u0442\u043e\u0431\u044b \u0438\u043c\u0435\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0438\u0437 DAO.<br \/>\n<img decoding=\"async\" alt=\"\u0423\u0447\u0438\u043c\u0441\u044f \u043f\u0438\u0441\u0430\u0442\u044c Waves \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u044b \u043d\u0430 RIDE \u0438 RIDE4DAPPS. \u0427\u0430\u0441\u0442\u044c 2 (DAO &mdash; Decentralized Autonomous Organization)\" src=\"\/wp-content\/uploads\/2019\/04\/0b279b735596035d2f0b5685dd582780.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Neli \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0443 \u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0439 \u0435\u0439 \u0441\u0443\u043c\u043c\u044b:<\/p>\n<p><\/p>\n<pre><code class=\"scala\">broadcast(invokeScript({dappAddress: address(env.accounts[1]), call:{function:\"getFunds\",args:[{type:\"integer\", value: 500000}]}, payment: []}))<\/code><\/pre>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"\u0423\u0447\u0438\u043c\u0441\u044f \u043f\u0438\u0441\u0430\u0442\u044c Waves \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u044b \u043d\u0430 RIDE \u0438 RIDE4DAPPS. \u0427\u0430\u0441\u0442\u044c 2 (DAO &mdash; Decentralized Autonomous Organization)\" src=\"\/wp-content\/uploads\/2019\/04\/9bfc6306e464838c1378a6520b80a960.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u0415\u0439 \u044d\u0442\u043e \u0443\u0434\u0430\u0435\u0442\u0441\u044f, \u0442\u043e \u0435\u0441\u0442\u044c DAO \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442!<\/p>\n<p><\/p>\n<p>\u041c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f DAO \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 <strong>RIDE4DAPPS<\/strong>.<br \/>\n\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0447\u0430\u0441\u0442\u044f\u0445 \u043c\u044b \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u0437\u0430\u0439\u043c\u0435\u043c\u0441\u044f \u0440\u0435\u0444\u0430\u043a\u0442\u043e\u0440\u0438\u043d\u0433\u043e\u043c \u043a\u043e\u0434\u0430 \u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u0435\u0439\u0441\u043e\u0432.<\/p>\n<p><\/p>\n<p>\u041f\u043e\u043b\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u043a\u043e\u0434\u0430 \u0432 <noindex><a rel=\"nofollow\" href=\"https:\/\/ide.wavesplatform.com\/\">Waves RIDE IDE:<\/a><\/noindex><\/p>\n<p><\/p>\n<pre><code class=\"scala\"># In this example multiple accounts can deposit their funds to DAO and safely take them back, no one can interfere with this.\n# DAO participants can also vote for particular addresses and let them withdraw invested funds then quorum has reached.\n# An inner state is maintained as mapping `address=&gt;waves`.\n# https:\/\/medium.com\/waves-lab\/waves-announces-funding-for-ride-for-dapps-developers-f724095fdbe1\n\n# You can try this contract by following commands in the IDE (ide.wavesplatform.com)\n# Run commands as listed below\n# From account #0:\n#      deploy()\n# From account #1: deposit funds\n#      broadcast(invokeScript({dappAddress: address(env.accounts[1]), call:{function:\"deposit\",args:[]}, payment: [{amount: 100000000, asset:null }]}))\n# From account #2: deposit funds\n#      broadcast(invokeScript({dappAddress: address(env.accounts[1]), call:{function:\"deposit\",args:[]}, payment: [{amount: 100000000, asset:null }]}))\n# From account #1: vote for startup\n#      broadcast(invokeScript({dappAddress: address(env.accounts[1]), call:{function:\"vote\",args:[{type:\"integer\", value: 500000}, {type:\"string\", value: \"3MrXEKJr9nDLNyVZ1d12Mq4jjeUYwxNjMsH\"}]}, payment: []}))\n# From account #2: vote for startup\n#      broadcast(invokeScript({dappAddress: address(env.accounts[1]), call:{function:\"vote\",args:[{type:\"integer\", value: 500000}, {type:\"string\", value: \"3MrXEKJr9nDLNyVZ1d12Mq4jjeUYwxNjMsH\"}]}, payment: []}))\n# From account #3: get invested funds\n#      broadcast(invokeScript({dappAddress: address(env.accounts[1]), call:{function:\"getFunds\",args:[{type:\"integer\", value: 500000}]}, payment: []}))\n\n{-# STDLIB_VERSION 3 #-}\n{-# CONTENT_TYPE DAPP #-}\n{-# SCRIPT_TYPE ACCOUNT #-}\n\n@Callable(i)\nfunc deposit() = {\n   let pmt = extract(i.payment)\n   if (isDefined(pmt.assetId)) then throw(\"can hodl waves only at the moment\")\n   else {\n        let currentKey = toBase58String(i.caller.bytes)\n        let xxxInvestorBalance = currentKey + \"_\" + \"ib\"\n        let currentAmount = match getInteger(this, xxxInvestorBalance) {\n            case a:Int =&gt; a\n            case _ =&gt; 0\n        }\n        let newAmount = currentAmount + pmt.amount\n        WriteSet([DataEntry(xxxInvestorBalance, newAmount)])\n   }\n}\n@Callable(i)\nfunc withdraw(amount: Int) = {\n        let currentKey = toBase58String(i.caller.bytes)\n        let xxxInvestorBalance = currentKey + \"_\" + \"ib\"\n        let currentAmount = match getInteger(this, xxxInvestorBalance) {\n            case a:Int =&gt; a\n            case _ =&gt; 0\n        }\n        let newAmount = currentAmount - amount\n     if (amount &lt; 0)\n            then throw(\"Can't withdraw negative amount\")\n    else if (newAmount &lt; 0)\n            then throw(\"Not enough balance\")\n            else ScriptResult(\n                    WriteSet([DataEntry(xxxInvestorBalance, newAmount)]),\n                    TransferSet([ScriptTransfer(i.caller, amount, unit)])\n                )\n    }\n@Callable(i)\nfunc getFunds(amount: Int) = {\n        let quorum = 2\n        let currentKey = toBase58String(i.caller.bytes)\n        let xxxStartupFund = currentKey + \"_\" + \"sf\"\n        let xxxStartupVotes = currentKey + \"_\" + \"sv\"\n        let currentAmount = match getInteger(this, xxxStartupFund) {\n            case a:Int =&gt; a\n            case _ =&gt; 0\n        }\n        let totalVotes = match getInteger(this, xxxStartupVotes) {\n            case a:Int =&gt; a\n            case _ =&gt; 0\n        }\n        let newAmount = currentAmount - amount\n    if (amount &lt; 0)\n            then throw(\"Can't withdraw negative amount\")\n    else if (newAmount &lt; 0)\n            then throw(\"Not enough balance\")\n    else if (totalVotes &lt; quorum)\n            then throw(\"Not enough votes. At least 2 votes required!\")\n    else ScriptResult(\n                    WriteSet([\n                        DataEntry(xxxStartupFund, newAmount)\n                        ]),\n                    TransferSet([ScriptTransfer(i.caller, amount, unit)])\n                )\n    }\n@Callable(i)\nfunc vote(amount: Int, address: String) = {\n        let currentKey = toBase58String(i.caller.bytes)\n        let xxxInvestorBalance = currentKey + \"_\" + \"ib\"\n        let xxxStartupFund = address + \"_\" + \"sf\"\n        let xxxStartupVotes = address + \"_\" + \"sv\"\n        let currentAmount = match getInteger(this, xxxInvestorBalance) {\n            case a:Int =&gt; a\n            case _ =&gt; 0\n        }\n        let currentVotes = match getInteger(this, xxxStartupVotes) {\n            case a:Int =&gt; a\n            case _ =&gt; 0\n        }\n        let currentFund = match getInteger(this, xxxStartupFund) {\n            case a:Int =&gt; a\n            case _ =&gt; 0\n        }\n    if (amount &lt;= 0)\n            then throw(\"Can't withdraw negative amount\")\n    else if (amount &gt; currentAmount)\n            then throw(\"Not enough balance\")\n    else ScriptResult(\n                    WriteSet([\n                        DataEntry(xxxInvestorBalance, currentAmount - amount),\n                        DataEntry(xxxStartupVotes, currentVotes + 1),\n                        DataEntry(xxxStartupFund, currentFund + amount)\n                        ]),\n                    TransferSet([ScriptTransfer(i.caller, amount, unit)])\n            )\n    }\n@Verifier(tx)\nfunc verify() = {\n    match tx {\n        case t: TransferTransaction =&gt;false\n        case _ =&gt; true\n    }\n}<\/code><\/pre>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/447790\/\">\u041f\u0435\u0440\u0432\u0430\u044f \u0447\u0430\u0441\u0442\u044c<\/a><\/noindex><br \/>\n<noindex>\u041a\u043e\u0434 \u043d\u0430 \u0433\u0438\u0442\u0445\u0430\u0431\u0435<\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/ide.wavesplatform.com\/\">Waves RIDE IDE<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/waves-lab\/waves-announces-funding-for-ride-for-dapps-developers-f724095fdbe1\">\u0410\u043d\u043e\u043d\u0441 \u0433\u0440\u0430\u043d\u0442\u043e\u0432\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b<\/a><\/noindex><\/p>\n<p>\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/447808\/\">habr.com<\/a><\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u043c\u044b \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0438 \u043a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 dApp (\u0434\u0435\u0446\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c) \u0432 Waves RIDE IDE. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0441\u0435\u0439\u0447\u0430\u0441 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440. \u042d\u0442\u0430\u043f 3. \u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 dApp \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430 \u041a\u0430\u043a\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441\u0440\u0430\u0437\u0443 \u0431\u0440\u043e\u0441\u0430\u044e\u0442\u0441\u044f \u043d\u0430 \u0433\u043b\u0430\u0441\u0430 \u0441 Alice dApp Account? \u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445: Boob \u0438 Cooper \u043c\u043e\u0433\u0443\u0442 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043d\u0430 \u0430\u0434\u0440\u0435\u0441 dApp \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043e\u0431\u044b\u0447\u043d\u043e\u0439 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":23330,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-31364","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-novosti-interneta"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u043c\u044b \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0438 \u043a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 dApp (\u0434\u0435\u0446\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c) \u0432 Waves RIDE IDE. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0441\u0435\u0439\u0447\u0430\u0441 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440. \u042d\u0442\u0430\u043f 3. \u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 dApp \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430 \u041a\u0430\u043a\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441\u0440\u0430\u0437\u0443 \u0431\u0440\u043e\u0441\u0430\u044e\u0442\u0441\u044f \u043d\u0430 \u0433\u043b\u0430\u0441\u0430 \u0441 Alice dApp Account? \u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445: Boob \u0438 Cooper \u043c\u043e\u0433\u0443\u0442 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043d\u0430 \u0430\u0434\u0440\u0435\u0441 dApp \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043e\u0431\u044b\u0447\u043d\u043e\u0439\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/et\/blog\/novosti-interneta\/uchimsya-pisat-waves-smart-kontrakty-na-ride-i-ride4dapps-chast-2-dao-decentralized-autonomous-organization\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0423\u0447\u0438\u043c\u0441\u044f \u043f\u0438\u0441\u0430\u0442\u044c Waves \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u044b \u043d\u0430 RIDE \u0438 RIDE4DAPPS. \u0427\u0430\u0441\u0442\u044c 2 (DAO \u2014 Decentralized Autonomous Organization) | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u043c\u044b \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0438 \u043a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 dApp (\u0434\u0435\u0446\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c) \u0432 Waves RIDE IDE. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0441\u0435\u0439\u0447\u0430\u0441 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440. \u042d\u0442\u0430\u043f 3. \u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 dApp \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430 \u041a\u0430\u043a\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441\u0440\u0430\u0437\u0443 \u0431\u0440\u043e\u0441\u0430\u044e\u0442\u0441\u044f \u043d\u0430 \u0433\u043b\u0430\u0441\u0430 \u0441 Alice dApp Account? \u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445: Boob \u0438 Cooper \u043c\u043e\u0433\u0443\u0442 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043d\u0430 \u0430\u0434\u0440\u0435\u0441 dApp \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043e\u0431\u044b\u0447\u043d\u043e\u0439\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/novosti-interneta\/uchimsya-pisat-waves-smart-kontrakty-na-ride-i-ride4dapps-chast-2-dao-decentralized-autonomous-organization\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:40:52+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:40:52+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47 \u00d5pime kirjutama Wavesi nutilepinguid RIDE ja RIDE4DAPPS. Osa 2 (DAO - Decentraliseeritud Autonoomne Organisatsioon) | ProHoster","description":"Tere k\u00f5igile! Esimeses osas k\u00e4sitlesime \u00fcksikasjalikult, kuidas luua ja t\u00f6\u00f6tada dApp (decentraliseeritud rakendusega) Waves RIDE IDE-s. Vaatame n\u00fc\u00fcd veidi testida anal\u00fc\u00fcsitud n\u00e4idet. Etapp 3. dApp konto testimine Millised probleemid l\u00f6\u00f6vad kohe silma Alice dApp konto puhul? Esiteks: Boob ja Cooper v\u00f5ivad juhuslikult saata dApp aadressile vahendeid tavalise","canonical_url":"https:\/\/prohoster.info\/et\/blog\/novosti-interneta\/uchimsya-pisat-waves-smart-kontrakty-na-ride-i-ride4dapps-chast-2-dao-decentralized-autonomous-organization","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0423\u0447\u0438\u043c\u0441\u044f \u043f\u0438\u0441\u0430\u0442\u044c Waves \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u044b \u043d\u0430 RIDE \u0438 RIDE4DAPPS. \u0427\u0430\u0441\u0442\u044c 2 (DAO \u2014 Decentralized Autonomous Organization) | ProHoster","og:description":"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u043c\u044b \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0438 \u043a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 dApp (\u0434\u0435\u0446\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c) \u0432 Waves RIDE IDE. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0441\u0435\u0439\u0447\u0430\u0441 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440. \u042d\u0442\u0430\u043f 3. \u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 dApp \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430 \u041a\u0430\u043a\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441\u0440\u0430\u0437\u0443 \u0431\u0440\u043e\u0441\u0430\u044e\u0442\u0441\u044f \u043d\u0430 \u0433\u043b\u0430\u0441\u0430 \u0441 Alice dApp Account? \u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445: Boob \u0438 Cooper \u043c\u043e\u0433\u0443\u0442 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043d\u0430 \u0430\u0434\u0440\u0435\u0441 dApp \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043e\u0431\u044b\u0447\u043d\u043e\u0439","og:url":"https:\/\/prohoster.info\/et\/blog\/novosti-interneta\/uchimsya-pisat-waves-smart-kontrakty-na-ride-i-ride4dapps-chast-2-dao-decentralized-autonomous-organization","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:40:52+00:00","article:modified_time":"2019-10-31T18:40:52+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"31364","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 05:49:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:18:39","updated":"2026-01-21 05:49:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/31364","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=31364"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/31364\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/23330"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=31364"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=31364"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=31364"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}