{"id":330700,"date":"2022-03-15T21:00:14","date_gmt":"2022-03-15T21:00:14","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=330700"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=330700","title":{"rendered":"<span>\u0414\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0449\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u043f\u0440\u043e\u0441\u0442\u0435\u0439\u0448\u0435\u0439 \u043a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442\u043d\u043e\u0439 \u0431\u0438\u0440\u0436\u0438<\/span>"},"content":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<h2>\u0417\u0430\u0447\u0435\u043c \u044d\u0442\u043e \u043d\u0443\u0436\u043d\u043e?<\/h2>\n<p>\u0414\u043e 2021-\u0433\u043e \u0433\u043e\u0434\u0430 \u044f \u043d\u0435 \u0432\u0438\u0434\u0435\u043b \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442. \u041f\u043e\u0442\u043e\u043c \u043d\u0430\u0442\u043a\u043d\u0443\u043b\u0441\u044f \u043d\u0430 \u043a\u043d\u0438\u0433\u0438 \u0410\u043d\u0434\u0440\u0435\u0430\u0441\u0430 \u0410\u043d\u0442\u043e\u043d\u043e\u043f\u0443\u043b\u043e\u0441\u0430. \u041c\u0435\u043d\u044f \u0437\u0430\u0446\u0435\u043f\u0438\u043b\u043e \u0435\u0433\u043e \u0443\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435, \u0447\u0442\u043e \u043a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442\u044b \u043f\u043e\u0434\u043e\u0431\u043d\u044b \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0443 \u0434\u0435\u043d\u0435\u0433. \u0415\u0441\u043b\u0438 \u044d\u0442\u043e \u0442\u0430\u043a, \u0442\u043e \u043a\u0440\u0438\u043f\u0442\u043e\u0431\u0438\u0440\u0436\u0438 \u0434\u043b\u044f \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430 \u0434\u0435\u043d\u0435\u0433 \u043f\u043e\u0434\u043e\u0431\u043d\u044b \u0412\u043e\u0440\u0434\u041f\u0440\u0435\u0441\u0441\u0443 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438.<\/p>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0432 \u0442\u043e \u0436\u0435 \u0432\u0440\u0435\u043c\u044f \u044f \u0443\u0437\u043d\u0430\u043b, \u0447\u0442\u043e \u043d\u0430\u00a0<a href=\"https:\/\/www.statista.com\/statistics\/863917\/number-crypto-coins-tokens\/\" rel=\"noopener noreferrer nofollow\"><u>10.397<\/u><\/a>\u00a0\u043a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043e\u043a\u043e\u043b\u043e\u00a0<a href=\"https:\/\/www.investopedia.com\/tech\/190-cryptocurrency-exchanges-so-how-choose\/#citation-1\" rel=\"noopener noreferrer nofollow\"><u>380<\/u><\/a>\u00a0\u043a\u0440\u0438\u043f\u0442\u043e\u0431\u0438\u0440\u0436. \u0415\u0441\u043b\u0438 \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c \u0444\u0438\u043b\u043e\u0441\u043e\u0444\u0438\u0438 \u0411\u0438\u0442\u043a\u043e\u0439\u043d\u0430, \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442.<\/p>\n<p>\u041c\u0430\u043b\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u0440\u0438\u043f\u0442\u043e\u0431\u0438\u0440\u0436 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0437\u043b\u043e\u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u0438\u0433\u0440\u043e\u043a\u0430\u043c \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u043b\u044e\u0434\u0435\u0439 \u043a \u043a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442\u0430\u043c \u043f\u043e\u0434 \u043f\u0440\u0435\u0434\u043b\u043e\u0433\u043e\u043c \u0431\u043e\u0440\u044c\u0431\u044b \u0441 \u0442\u0435\u0440\u0440\u043e\u0440\u0438\u0437\u043c\u043e\u043c, \u043e\u0442\u043c\u044b\u0432\u0430\u043d\u0438\u0435\u043c \u0434\u0435\u043d\u0435\u0433 \u0438 \u0441\u0430\u043d\u043a\u0446\u0438\u0439. \u0415\u0441\u043b\u0438 \u0431\u044b \u0431\u044b\u043b \u043c\u0438\u043b\u043b\u0438\u043e\u043d \u043a\u0440\u0438\u043f\u0442\u043e\u0431\u0438\u0440\u0436, \u0438\u0445 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u0437\u0430\u0440\u0435\u0433\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u043e \u0441\u043c\u0435\u0440\u0442\u0438.<\/p>\n<p>\u041f\u043e\u0447\u0435\u043c\u0443 \u043a\u0440\u0438\u043f\u0442\u043e\u0431\u0438\u0440\u0436 \u0442\u0430\u043a \u043c\u0430\u043b\u043e?<\/p>\n<p>\u041f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043a\u0440\u0438\u043f\u0442\u043e\u0431\u0438\u0440\u0436\u0438, \u043d\u0443\u0436\u043d\u043e \u043e\u0442 100.000 \u0434\u043e 500.000 \u0434\u043e\u043b\u043b\u0430\u0440\u043e\u0432 (<a href=\"https:\/\/medium.datadriveninvestor.com\/how-much-does-it-cost-to-create-a-crypto-exchange-like-binance-localbitcoins-or-coinbase-69dacf7bc311\" rel=\"noopener noreferrer nofollow\"><u>1<\/u><\/a>,\u00a0<a href=\"https:\/\/www.quora.com\/How-much-does-it-cost-to-start-a-cryptocurrency-exchange-in-the-United-States\" rel=\"noopener noreferrer nofollow\"><u>2<\/u><\/a>).<\/p>\n<p>\u041c\u043e\u0436\u043d\u043e \u043b\u0438 \u0441\u0440\u0435\u0437\u0430\u0442\u044c \u044d\u0442\u0438 \u0437\u0430\u0442\u0440\u0430\u0442\u044b?<\/p>\n<p>\u0417\u0434\u0435\u0441\u044c \u0435\u0441\u0442\u044c \u0434\u0432\u0430 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430.<\/p>\n<p>\u041f\u0435\u0440\u0432\u044b\u0439: \u041a\u0443\u043f\u0438\u0442\u044c \u0433\u043e\u0442\u043e\u0432\u0443\u044e \u0431\u0438\u0440\u0436\u0443. \u0417\u043d\u0430\u043a\u043e\u043c\u044b\u0439 \u0433\u043e\u0432\u043e\u0440\u0438\u043b, \u0447\u0442\u043e \u0432 \u041a\u0438\u0442\u0430\u0435 \u043a\u043e\u0434 \u0442\u0430\u043a\u0438\u0445 \u0431\u0438\u0440\u0436 \u043f\u0440\u043e\u0434\u0430\u0435\u0442\u0441\u044f \u0437\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0442\u044b\u0441\u044f\u0447 \u0434\u043e\u043b\u043b\u0430\u0440\u043e\u0432. \u041d\u043e \u043d\u0435\u0442 \u043d\u0438\u043a\u0430\u043a\u043e\u0439 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0438, \u0447\u0442\u043e \u044d\u0442\u0430 \u043a\u0440\u0438\u043f\u0442\u043e\u0431\u0438\u0440\u0436\u0430 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043a\u0430\u043a \u043d\u0430\u0434\u043e.<\/p>\n<p>\u0412\u0442\u043e\u0440\u043e\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u2013 \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0435 \u041f\u041e.<\/p>\n<h2>\u041a\u0440\u0438\u043f\u0442\u043e\u0431\u0438\u0440\u0436\u0430 \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u043a\u043e\u0434\u043e\u043c<\/h2>\n<p>\u0415\u0441\u0442\u044c \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u043e\u0434\u043d\u0430\u00a0<a href=\"https:\/\/github.com\/jammy928\/CoinExchange_CryptoExchange_Java\" rel=\"noopener noreferrer nofollow\"><u>\u043a\u0440\u0438\u043f\u0442\u043e\u0431\u0438\u0440\u0436\u0430<\/u><\/a>\u00a0\u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u043a\u043e\u0434\u043e\u043c.<\/p>\n<p>\u0417\u0434\u0435\u0441\u044c \u043e\u043f\u044f\u0442\u044c \u0434\u0432\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b.<\/p>\n<p>\u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u044d\u0442\u043e \u043a\u0438\u0442\u0430\u0439\u0441\u043a\u0438\u0439 \u043f\u0440\u043e\u0434\u0443\u043a\u0442 \u0438 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043d\u0430 \u043a\u0438\u0442\u0430\u0439\u0441\u043a\u043e\u043c. \u042d\u0442\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0434\u043b\u044f \u0432\u0441\u0435\u0445, \u043a\u0442\u043e \u043d\u0435 \u0432\u043b\u0430\u0434\u0435\u0435\u0442 \u043a\u0438\u0442\u0430\u0439\u0441\u043a\u0438\u043c.<\/p>\n<p>\u0412\u043e-\u0432\u0442\u043e\u0440\u044b\u0445, \u044d\u0442\u0430 \u043a\u0440\u0438\u043f\u0442\u043e\u0431\u0438\u0440\u0436\u0430 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0441\u043b\u043e\u0436\u043d\u0430. \u0422\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043a \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u041f\u041e \u0442\u0430\u043a\u043e\u0432: \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0434\u0435\u043b\u0430\u0435\u043c \u0447\u0442\u043e-\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u043e\u0435, \u0430 \u043f\u043e\u0442\u043e\u043c, \u043f\u043e \u043c\u0435\u0440\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043d\u0443\u0436\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<\/p>\n<p>\u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u0436\u0435 \u0441 \u044d\u0442\u043e\u0439 \u0431\u0438\u0440\u0436\u0435\u0439 \u0435\u0441\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0443\u0436\u043d\u044b \u0434\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u0432\u0441\u0435\u043c. \u041d\u0438\u0436\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u0430 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e <a href=\"https:\/\/github.com\/jammy928\/CoinExchange_CryptoExchange_Java\" rel=\"noopener noreferrer nofollow\">\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438<\/a>.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/acd\/905\/e3c\/acd905e3cf0b3626109da1c7405421f0.png\" alt=\"\u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043a\u0440\u0438\u043f\u0442\u043e\u0431\u0438\u0440\u0436\u0438 \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u043a\u043e\u0434\u043e\u043c. \u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a: https:\/\/github.com\/jammy928\/CoinExchange_CryptoExchange_Java\" title=\"\u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043a\u0440\u0438\u043f\u0442\u043e\u0431\u0438\u0440\u0436\u0438 \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u043a\u043e\u0434\u043e\u043c. \u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a: https:\/\/github.com\/jammy928\/CoinExchange_CryptoExchange_Java\" width=\"1634\" height=\"1284\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/acd\/905\/e3c\/acd905e3cf0b3626109da1c7405421f0.png\"\/><figcaption>\u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043a\u0440\u0438\u043f\u0442\u043e\u0431\u0438\u0440\u0436\u0438 \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u043a\u043e\u0434\u043e\u043c. \u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a: https:\/\/github.com\/jammy928\/CoinExchange_CryptoExchange_Java<\/figcaption><\/figure>\n<p>\u042d\u0442\u0430 \u043a\u0440\u0438\u043f\u0442\u043e\u0431\u0438\u0440\u0436\u0430 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0410\u043d\u0434\u0440\u043e\u0438\u0434\u0430 \u0438 \u042d\u043f\u043f\u043b\u0430, \u0438, \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043f\u043e\u0434 \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439.<\/p>\n<p>\u0417\u0434\u043e\u0440\u043e\u0432\u043e, \u043d\u043e \u043d\u0435 \u043d\u0443\u0436\u043d\u043e, \u0435\u0441\u043b\u0438 \u044f \u0445\u043e\u0447\u0443 \u043e\u0431\u043c\u0435\u043d\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043a\u0440\u0438\u043f\u0442\u043e\u0439 \u0441 \u043c\u043e\u0438\u043c\u0438 10 \u0434\u0440\u0443\u0437\u044c\u044f\u043c\u0438 \u0447\u0435\u0440\u0435\u0437 \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432 \u0441\u0442\u0438\u043b\u0435 &#171;\u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043d\u044b\u0439 \u0434\u0438\u0437\u0430\u0439\u043d&#187;.<\/p>\n<p>\u042f \u0437\u0430\u0434\u0430\u043b\u0441\u044f \u0435\u0449\u0435 \u043e\u0434\u043d\u0438\u043c \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u043c.<\/p>\n<p>\u041d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0442\u0440\u0443\u0434\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u0443\u044e \u043a\u0440\u0438\u043f\u0442\u043e\u0431\u0438\u0440\u0436\u0443 \u0441 \u043d\u0443\u043b\u044f?<\/p>\n<p>\u041e\u0442\u0432\u0435\u0442\u0438\u0442\u044c \u043d\u0430 \u044d\u0442\u043e\u0442 \u0432\u043e\u043f\u0440\u043e\u0441 \u043c\u043e\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u043f\u044b\u0442\u043d\u044b\u043c \u043f\u0443\u0442\u0435\u043c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0440\u0435\u0448\u0438\u043b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u0435\u0439\u0448\u0443\u044e \u043a\u0440\u0438\u043f\u0442\u043e\u0431\u0438\u0440\u0436\u0443, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043d\u044f\u0442\u044c, \u043a\u0430\u043a \u043e\u043d\u0430 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u0430.<\/p>\n<h2>\u041a\u0430\u043a\u0438\u0435 \u0432\u0430\u043b\u044e\u0442\u044b \u043c\u0435\u043d\u044f\u0442\u044c?<\/h2>\n<p>\u0415\u0441\u043b\u0438 \u044d\u0442\u043e \u0431\u0438\u0440\u0436\u0430 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u0430, \u0442\u043e \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0434\u0432\u0435 \u043a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442\u044b. <\/p>\n<p>\u042f \u0440\u0435\u0448\u0438\u043b \u0432\u0437\u044f\u0442\u044c \u0411\u0438\u0442\u043a\u043e\u0439\u043d \u0438 \u0422\u0438\u0442\u0435\u0440 (Tether, USDT). <\/p>\n<p>\u0422\u0438\u0442\u0435\u0440 \u2013 \u044d\u0442\u043e \u043a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442\u0430, \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0443\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u044e\u0442, \u0447\u0442\u043e \u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u0442\u043e\u043a\u0435\u043d \u0422\u0438\u0442\u0435\u0440\u0430 \u0435\u0441\u0442\u044c \u0434\u043e\u043b\u043b\u0430\u0440 \u0432 \u0431\u0430\u043d\u043a\u0435 (<a href=\"https:\/\/hindenburgresearch.com\/tether\/\" rel=\"noopener noreferrer nofollow\"><u>\u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043b\u044e\u0434\u0438<\/u><\/a>\u00a0\u0441 \u044d\u0442\u0438\u043c \u043d\u0435\u0441\u043e\u0433\u043b\u0430\u0441\u043d\u044b). \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0435\u0441\u043b\u0438 \u0443 \u0412\u0430\u0441 \u0435\u0441\u0442\u044c 1 \u0422\u0438\u0442\u0435\u0440, \u0442\u043e \u044d\u0442\u043e \u043f\u043e \u0441\u0443\u0442\u0438 \u043e\u0434\u0438\u043d \u0434\u043e\u043b\u043b\u0430\u0440. \u041a\u0443\u0440\u0441 \u0422\u0438\u0442\u0435\u0440\u0430 \u0441\u043a\u0430\u0447\u0435\u0442 \u043c\u0435\u043d\u044c\u0448\u0435, \u0447\u0435\u043c \u043a\u0443\u0440\u0441 \u0411\u0438\u0442\u043a\u043e\u0439\u043d\u0430.<\/p>\n<details class=\"spoiler\">\n<summary>\u041e\u0442\u043a\u0430\u0437 \u043e\u0442 \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u0438<\/summary>\n<div class=\"spoiler__content\">\n<p>\u0422\u043e\u0442 \u0444\u0430\u043a\u0442, \u0447\u0442\u043e \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0411\u0438\u0442\u043a\u043e\u0439\u043d \u0438 \u0422\u0438\u0442\u0435\u0440 \u043d\u0435 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u044f \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u0442\u043e \u0438\u043b\u0438 \u0434\u0440\u0443\u0433\u043e\u0435 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0432\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u0423 \u043c\u0435\u043d\u044f \u043d\u0435\u0442 \u043d\u0438 \u0411\u0438\u0442\u043a\u043e\u0439\u043d\u0430, \u043d\u0438 \u0422\u0438\u0442\u0435\u0440\u0430, \u0435\u0441\u0442\u044c \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u041a\u0430\u0440\u0434\u0430\u043d\u043e.<\/p>\n<p>\u041b\u0443\u0447\u0448\u0438\u043c \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u043c \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0434\u0435\u043d\u044c\u0433\u0438 \u044f \u0441\u0447\u0438\u0442\u0430\u044e\u0442 \u0437\u043e\u043b\u043e\u0442\u044b\u0435 \u0438 \u0441\u0435\u0440\u0435\u0431\u0440\u044f\u043d\u044b\u0435 \u043c\u043e\u043d\u0435\u0442\u044b (\u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u0432 \u0441\u0435\u0439\u0444, \u0430 \u043d\u0435 ETF).<\/p>\n<\/div>\n<\/details>\n<h2>\u041a\u0430\u043a \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430<\/h2>\n<p>\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043f\u0440\u043e\u0441\u0442\u0435\u0439\u0448\u0435\u0439 \u043a\u0440\u0438\u043f\u0442\u043e\u0431\u0438\u0440\u0436\u0438 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/e05\/35f\/0ef\/e0535f0ef8f6dcd600f45107c7eedd71.png\" width=\"1497\" height=\"1058\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/e05\/35f\/0ef\/e0535f0ef8f6dcd600f45107c7eedd71.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0418\u0441\u043f\u044b\u0442\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0441\u0435\u0442\u0438 (testnets) \u0434\u043b\u044f \u0411\u0438\u0442\u043a\u043e\u0439\u043d\u0430 \u0438 \u042d\u0444\u0438\u0440\u0430 \u043d\u0443\u0436\u043d\u044b, \u0447\u0442\u043e\u0431\u044b \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043e\u0442\u043b\u0430\u0436\u0438\u0432\u0430\u0442\u044c \u043a\u043e\u0434, \u043d\u0435 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u044f \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0435 \u0434\u0435\u043d\u044c\u0433\u0438. \u0422\u0438\u0442\u0435\u0440 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u043c\u0430\u0440\u0442\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u043e\u043c \u043d\u0430 \u0431\u0430\u0437\u0435 \u042d\u0444\u0438\u0440\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0422\u0438\u0442\u0435\u0440\u043e\u043c \u043d\u0443\u0436\u043d\u0430 \u0438\u0441\u043f\u044b\u0442\u0430\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0441\u0435\u0442\u044c \u0434\u043b\u044f \u042d\u0444\u0438\u0440\u0430.<\/p>\n<p>\u0421\u0435\u0440\u0434\u0446\u0435\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f BPM-\u0434\u0432\u0438\u0436\u043e\u043a \u043d\u0430 \u0431\u0430\u0437\u0435 \u041a\u0430\u043c\u0443\u043d\u0434\u044b. \u042d\u0442\u043e\u0442 BPM-\u0434\u0432\u0438\u0436\u043e\u043a \u0445\u0440\u0430\u043d\u0438\u0442 \u0432\u0441\u0435 \u0441\u0432\u043e\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 in-memory \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 <a href=\"https:\/\/www.h2database.com\/html\/main.html\" rel=\"noopener noreferrer nofollow\">H2<\/a>.<\/p>\n<h2>\u0417\u0430\u0447\u0435\u043c \u043d\u0443\u0436\u043d\u0430 \u041a\u0430\u043c\u0443\u043d\u0434\u0430<\/h2>\n<p>BPM-\u0434\u0432\u0438\u0436\u043a\u0438 (<a href=\"https:\/\/docs.camunda.org\/get-started\/spring-boot\/\" rel=\"noopener noreferrer nofollow\">\u041a\u0430\u043c\u0443\u043d\u0434\u0430<\/a>, <a href=\"https:\/\/www.flowable.com\/open-source\" rel=\"noopener noreferrer nofollow\">Flowable<\/a>, <a href=\"https:\/\/www.activiti.org\" rel=\"noopener noreferrer nofollow\">Activiti<\/a>, <a href=\"https:\/\/www.jbpm.org\" rel=\"noopener noreferrer nofollow\">jBPM<\/a>, TIBCO iProcess, Pega \u0438 \u0434\u0440\u0443\u0433\u0438\u0435) \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f, \u043a\u043e\u0433\u0434\u0430 \u043d\u0443\u0436\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0441 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u0440\u0430\u0437\u043d\u043e\u0440\u043e\u0434\u043d\u044b\u043c\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c\u0438. \u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u041a\u0430\u043c\u0443\u043d\u0434\u0430 \u043e\u0440\u043a\u0435\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0441 \u0438\u0441\u043f\u044b\u0442\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u0441\u0435\u0442\u044f\u043c\u0438 \u0411\u0438\u0442\u043a\u043e\u0439\u043d\u0430 \u0438 \u042d\u0444\u0438\u0440\u0430.<\/p>\n<p>\u0414\u0440\u0443\u0433\u0430\u044f \u043f\u0440\u0438\u0447\u0438\u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u041a\u0430\u043c\u0443\u043d\u0434\u0443 \u2013 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0443\u043b\u0443\u0447\u0448\u0430\u0435\u0442 \u0432\u0437\u0430\u0438\u043c\u043e\u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u0432 \u0438 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u043e\u0432 \u043f\u0440\u0435\u0434\u043c\u0435\u0442\u043d\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 (\u0442\u0430\u043a\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u043f\u043e\u043d\u044f\u0442\u043d\u0430 \u0438 \u0442\u0435\u043c, \u0438 \u0434\u0440\u0443\u0433\u0438\u043c).<\/p>\n<p>\u0423 \u041a\u0430\u043c\u0443\u043d\u0434\u044b \u0435\u0441\u0442\u044c \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u0430\u044f (Community Edition) \u0438 \u043f\u043b\u0430\u0442\u043d\u0430\u044f (Enterprise Edition) \u0432\u0435\u0440\u0441\u0438\u0438. \u041d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u044f \u0437\u043d\u0430\u044e, \u044d\u0442\u043e \u0442\u0430\u043a \u043e\u0441\u0442\u0430\u043d\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0432\u0435\u0440\u0441\u0438\u0439 7.x. \u0412\u043e\u0441\u044c\u043c\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u041a\u0430\u043c\u0443\u043d\u0434\u044b \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0437\u0430\u043a\u0440\u044b\u0442\u043e\u0439 \u0438 \u0432 \u0420\u043e\u0441\u0441\u0438\u0438 \u043f\u0440\u043e\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0435 \u0431\u0443\u0434\u0435\u0442, \u0442. \u043a. \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u00a0<a href=\"https:\/\/camunda.com\/blog\/2022\/03\/responding-to-the-russian-invasion-of-ukraine\/\" rel=\"noopener noreferrer nofollow\"><u>\u043f\u0440\u0438\u0441\u043e\u0435\u0434\u0438\u043d\u0438\u043b\u0441\u044f<\/u><\/a>\u00a0\u043a \u0441\u0430\u043d\u043a\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0432\u0430\u043a\u0445\u0430\u043d\u0430\u043b\u0438\u0438. \u0421\u0430\u043c\u0430\u044f \u0434\u0435\u0448\u0435\u0432\u0430\u044f \u043f\u043b\u0430\u0442\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0441\u0435\u0439\u0447\u0430\u0441 \u0441\u0442\u043e\u0438\u0442 \u043e\u043a\u043e\u043b\u043e 50.000 \u0435\u0432\u0440\u043e \u0432 \u0433\u043e\u0434.<\/p>\n<p>\u0412 \u0432\u0435\u0440\u0441\u0438\u044f\u0445 7.\u0445 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e\u0439 Community Edition \u043e\u0442 \u043f\u043b\u0430\u0442\u043d\u043e\u0439 Enterprise Edition \u0435\u0441\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445, \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0438 Optimize \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u0441\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044f. \u0412\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u0432 \u043e\u0431\u043e\u0438\u0445 \u0432\u0435\u0440\u0441\u0438\u044f\u0445 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e (\u0432 \u0442. \u0447. \u0434\u0432\u0438\u0436\u043e\u043a).<\/p>\n<p>\u0420\u044f\u0434 \u0440\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0438\u0445 \u0438 \u043d\u0435\u043c\u0435\u0446\u043a\u0438\u0445 \u0431\u0430\u043d\u043a\u043e\u0432 \u0432 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e. \u0422\u0430\u043a\u0436\u0435 \u0435\u0441\u0442\u044c \u043e\u0442\u0435\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0438 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0439 \u0430\u043d\u0430\u043b\u043e\u0433 Enterprise Edition:\u00a0<a href=\"https:\/\/github.com\/KotskinKotskin\/camunda-excamad\" rel=\"noopener noreferrer nofollow\"><u>Excamad<\/u><\/a>.<\/p>\n<p>\u041e\u0434\u043d\u043e \u0438\u0437 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432 \u041a\u0430\u043c\u0443\u043d\u0434\u044b \u2013 \u044d\u0442\u043e \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0435 \u0440\u0443\u0441\u0441\u043a\u043e\u044f\u0437\u044b\u0447\u043d\u043e\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u0432\u00a0<a href=\"https:\/\/t.me\/camunda_bpm\" rel=\"noopener noreferrer nofollow\"><u>\u0422\u0435\u043b\u0435\u0433\u0440\u0430\u043c\u0435<\/u><\/a>.<\/p>\n<h2>\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u043d\u0430 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e\u043c \u044f\u0437\u044b\u043a\u0435 BPMN<\/h2>\n<p>\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <a href=\"https:\/\/gitflic.ru\/project\/dpisarenko\/minimal-crypto-exchange\/blob?file=process-engine%2Fsrc%2Fmain%2Fresources%2Fexchange_btc_for_usdt_process.bpmn\" rel=\"noopener noreferrer nofollow\">\u043f\u0440\u043e\u0446\u0435\u0441\u0441<\/a> \u043e\u0431\u043c\u0435\u043d\u0430 \u0411\u0438\u0442\u043a\u043e\u0439\u043d\u0430 \u043d\u0430 \u0422\u0438\u0442\u0435\u0440 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/063\/a43\/384\/063a433840847b8e80fe752cc8878632.png\" alt=\"BPMN-\u0441\u0445\u0435\u043c\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u043e\u0431\u043c\u0435\u043d\u0430 \u0411\u0438\u0442\u043a\u043e\u0439\u043d\u0430 \u043d\u0430 \u0422\u0438\u0442\u0435\u0440\" title=\"BPMN-\u0441\u0445\u0435\u043c\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u043e\u0431\u043c\u0435\u043d\u0430 \u0411\u0438\u0442\u043a\u043e\u0439\u043d\u0430 \u043d\u0430 \u0422\u0438\u0442\u0435\u0440\" width=\"6564\" height=\"1122\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/063\/a43\/384\/063a433840847b8e80fe752cc8878632.png\"\/><figcaption>BPMN-\u0441\u0445\u0435\u043c\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u043e\u0431\u043c\u0435\u043d\u0430 \u0411\u0438\u0442\u043a\u043e\u0439\u043d\u0430 \u043d\u0430 \u0422\u0438\u0442\u0435\u0440<\/figcaption><\/figure>\n<p>\u041a\u0432\u0430\u0434\u0440\u0430\u0442\u0438\u043a\u0438 \u0441 \u0448\u0435\u0441\u0442\u0435\u0440\u0435\u043d\u043a\u0430\u043c\u0438 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0430\u044e\u0442 \u043a\u0443\u0441\u043a\u0438 \u043a\u043e\u0434\u0430 \u043d\u0430 \u0414\u0436\u0430\u0432\u0435 \u0438 \u041a\u043b\u043e\u0436\u0443\u0440\u0435 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440,\u00a0<code>Get USDT balance of the exchange<\/code>). \u041e\u043d\u0438 \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f\u00a0<em>\u0441\u043b\u0443\u0436\u0435\u0431\u043d\u044b\u043c\u0438 \u0437\u0430\u0434\u0430\u0447\u0430\u043c\u0438<\/em>\u00a0(service tasks).<\/p>\n<p>\u041a\u0432\u0430\u0434\u0440\u0430\u0442\u0438\u043a\u0438 \u0441 \u0447\u0435\u043b\u043e\u0432\u0435\u0447\u043a\u043e\u043c \u0432 \u0432\u0435\u0440\u0445\u043d\u0435\u043c \u043b\u0435\u0432\u043e\u043c \u0443\u0433\u043b\u0443 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0442. \u043d. \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u043c \u0437\u0430\u0434\u0430\u0447\u0430\u043c\u0438 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440,\u00a0<code>Ask the user to transfer the BTC and enter the target USDT address<\/code>). \u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0443 \u043d\u0430\u0434\u043e \u0437\u0430\u0439\u0442\u0438 \u0432 <a href=\"https:\/\/camunda.com\/products\/camunda-platform\/tasklist\/\" rel=\"noopener noreferrer nofollow\">\u043f\u0435\u0440\u0435\u0447\u0435\u043d\u044c \u0437\u0430\u0434\u0430\u0447<\/a> (task list) \u0432 \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u041a\u0430\u043c\u0443\u043d\u0434\u044b \u0438 \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c \u0437\u0430\u0434\u0430\u0447\u0443, \u043a\u0430\u043a \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u0443\u044e.<\/p>\n<p>\u041a\u0432\u0430\u0434\u0440\u0430\u0442\u0438\u043a\u0438 \u0441 \u0436\u0438\u0440\u043d\u043e\u0439 \u043e\u043a\u0430\u043d\u0442\u043e\u0432\u043a\u043e\u0439 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043f\u043e\u0434\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c\u0438, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0435\u0441\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440,\u00a0<code>Wait for the BTC to arrive<\/code>).<\/p>\n<p>\u041e\u0431\u0440\u0430\u0449\u0430\u044e \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438\u00a0<code>Wait<\/code>\u00a0\u043d\u0443\u0436\u043d\u044b \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0432 \u0446\u0435\u043b\u044f\u0445 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u0438 \u043e\u0442\u043b\u0430\u0434\u043a\u0438. \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0432 \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 (Camunda Community Edition) \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0432 \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u044b\u0435 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u044b \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432. \u0415\u0441\u043b\u0438 \u0432 \u043a\u043e\u043d\u0446\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0442\u0430\u043a\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443, \u0442\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0438 \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0443\u0432\u0438\u0434\u0435\u0442\u044c.<\/p>\n<p>\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0441\u044f \u043f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c \u0437\u0430\u0434\u0430\u0447\u0443 \u043a\u0430\u043a \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u0443\u044e \u0432 \u043f\u0435\u0440\u0435\u0447\u043d\u0435 \u0437\u0430\u0434\u0430\u0447 (task list).<\/p>\n<h2>\u0414\u0435\u043b\u0435\u0433\u0430\u0442\u044b \u043d\u0430 \u0414\u0436\u0430\u0432\u0435<\/h2>\n<p>\u0414\u0435\u043b\u0435\u0433\u0430\u0442\u044b \u043d\u0430 \u0414\u0436\u0430\u0432\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043a\u043e\u0434 \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u043c\u0435\u0441\u0442\u0430\u0445 BPMN-\u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u044b. <a href=\"https:\/\/gitflic.ru\/project\/dpisarenko\/minimal-crypto-exchange\/blob?file=process-engine%2Fsrc%2Fmain%2Fjava%2Fcom%2Fdpisarenko%2Fminimalcryptoexchange%2Fdelegates%2FApproveUsdtTransfer.java\" rel=\"noopener noreferrer nofollow\"><u>ApproveUsdtTransfer.java<\/u><\/a>\u00a0\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u043c \u0442\u0430\u043a\u043e\u0433\u043e \u0434\u0435\u043b\u0435\u0433\u0430\u0442\u0430.<\/p>\n<p>\u041a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u043c\u0435\u0441\u0442\u043e \u043b\u044e\u0431\u043e\u0433\u043e \u0434\u0435\u043b\u0435\u0433\u0430\u0442\u0430 \u043d\u0430 \u0414\u0436\u0430\u0432\u0435 \u2013 \u044d\u0442\u043e \u043c\u0435\u0442\u043e\u0434\u00a0<code>execute<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 <a href=\"https:\/\/docs.camunda.org\/javadoc\/camunda-bpm-platform\/7.16\/org\/camunda\/bpm\/engine\/delegate\/DelegateExecution.html\" rel=\"noopener noreferrer nofollow\">DelegateExecution<\/a>\u00a0\u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430:<\/p>\n<pre><code class=\"java\">@Override public void execute(final DelegateExecution delEx) throws Exception {   final ERC20 usdtContract = loadErc20Contract.apply(     new LoadErc20ContractInput()       .withPrivateKey(privateKey)       .withUsdtContractAddress(usdtContractAddress)       .withEthNetworkUrl(ethNetworkUrl));          final BigInteger usdtAmount = (BigInteger) delEx.getVariable(\"USDT_AMOUNT\");   final BigInteger amountToApprove = usdtAmount.add(BigInteger.ONE);   usdtContract.approve(exchangeAddress, amountToApprove).send(); }<\/code><\/pre>\n<p>\u0427\u0435\u0440\u0435\u0437 \u043e\u0431\u044a\u0435\u043a\u0442\u00a0<code>DelegateExecution<\/code>\u00a0\u043a\u043e\u0434 \u043d\u0430 \u0414\u0436\u0430\u0432\u0435 \u043c\u043e\u0436\u0435\u0442 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0441 \u0434\u0432\u0438\u0436\u043a\u043e\u043c BPM. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 \u043a\u043e\u0434\u0435 \u0432\u044b\u0448\u0435 \u0441\u0442\u0440\u043e\u043a\u0430<\/p>\n<pre><code class=\"java\">final BigInteger usdtAmount = (BigInteger) delEx.getVariable(\"USDT_AMOUNT\");<\/code><\/pre>\n<p>\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u00a0<code>USDT_AMOUNT<\/code>.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u0434\u0435\u043b\u0435\u0433\u0430\u0442 \u043d\u0430 \u0414\u0436\u0430\u0432\u0435 \u0432\u044b\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 (\u043a\u0440\u043e\u043c\u0435\u00a0<code>BPMNError<\/code>), \u043e\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u043e \u0432 \u0432\u0438\u0434\u0435 \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442\u0430 \u0432 <a href=\"https:\/\/camunda.com\/products\/camunda-platform\/cockpit\/\" rel=\"noopener noreferrer nofollow\">\u043a\u043e\u043a\u043f\u0438\u0442\u0435<\/a> (\u0447\u0430\u0441\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0439 \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0438 \u041a\u0430\u043c\u0443\u043d\u0434\u044b). \u0422\u0430\u043c \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c \u043f\u043e\u043f\u044b\u0442\u043a\u0443 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u043a\u043e\u0434.<\/p>\n<h2>\u0414\u0435\u043b\u0435\u0433\u0430\u0442\u044b \u043d\u0430 \u041a\u043b\u043e\u0436\u0443\u0440\u0435<\/h2>\n<p><a href=\"https:\/\/clojure.org\" rel=\"noopener noreferrer nofollow\">\u041a\u043b\u043e\u0436\u0443\u0440<\/a> \u2013 \u044d\u0442\u043e \u041b\u0438\u0441\u043f \u043d\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 JVM. \u042d\u0442\u043e\u0442 \u044f\u0437\u044b\u043a \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u043a\u043e\u0434 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0431\u0435\u0437 \u0435\u0433\u043e \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0438 \u043c\u0430\u0433\u0438\u0438 \u0432\u0440\u043e\u0434\u0435 JRebel.<\/p>\n<p>\u042d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u0443\u0434\u043e\u0431\u043d\u043e \u0434\u043b\u044f \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f: \u041c\u043e\u0436\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u0443 BPMN \u0432\u00a0<a href=\"https:\/\/camunda.com\/products\/camunda-platform\/modeler\/\" rel=\"noopener noreferrer nofollow\"><u>\u041a\u0430\u043c\u0443\u043d\u0434\u0430 \u041c\u043e\u0434\u0435\u043b\u0435\u0440\u0435<\/u><\/a>\u00a0\u0438 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u043a\u043e\u0434 \u0434\u0435\u043b\u0435\u0433\u0430\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432 \u043d\u0435\u0439 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f, \u0447\u0435\u0440\u0435\u0437 REPL (\u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u043d\u0443\u0442\u0440\u0438 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 \u0434\u043b\u044f \u0418\u0434\u0435\u0438\u00a0<a href=\"https:\/\/cursive-ide.com\/\" rel=\"noopener noreferrer nofollow\"><u>Cursive<\/u><\/a>). \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0431\u044b\u0441\u0442\u0440\u043e \u043c\u0435\u043d\u044f\u0442\u044c \u043a\u043e\u0434 \u0438 \u0432\u0438\u0434\u0435\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0434\u0435\u043b\u0430\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0441\u0443\u0431\u044a\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u0438\u044f\u0442\u043d\u043e\u0439.<\/p>\n<p>\u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0440\u044f\u0434 \u0441\u043b\u0443\u0436\u0435\u0431\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d \u043d\u0430 \u041a\u043b\u043e\u0436\u0443\u0440\u0435.<\/p>\n<p>\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043f\u0440\u0438\u043c\u0435\u0440. \u0421\u043b\u0443\u0436\u0435\u0431\u043d\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430\u00a0<code>Determine whether or not we have any ETH<\/code>\u00a0\u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u043d\u0430 \u041a\u043b\u043e\u0436\u0443\u0440\u0435 \u2013 \u044d\u0442\u043e \u0432\u0438\u0434\u043d\u043e \u043f\u043e\u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u0432 \u043c\u043e\u0434\u0435\u043b\u0435\u0440\u0435 \u0432 \u043f\u043e\u043b\u0435\u00a0Delegate Expression\u00a0\u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e\u00a0<code>${ClojureDelegate}<\/code>. \u042d\u0442\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0421\u043f\u0440\u0438\u043d\u0433-\u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 \u0441 \u043a\u043e\u0434\u043e\u043c \u0438\u0437\u00a0<a href=\"https:\/\/gitflic.ru\/project\/dpisarenko\/minimal-crypto-exchange\/blob?file=process-engine%2Fsrc%2Fmain%2Fjava%2Fcom%2Fdpisarenko%2Fminimalcryptoexchange%2Fdelegates%2FClojureDelegate.java\" rel=\"noopener noreferrer nofollow\"><u>ClojureDelegate.java<\/u><\/a>.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/b12\/e23\/052\/b12e23052ed9ddd59534d0ce5c85c3b3.png\" width=\"2340\" height=\"1248\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b12\/e23\/052\/b12e23052ed9ddd59534d0ce5c85c3b3.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0412\u043e \u0432\u043a\u043b\u0430\u0434\u043a\u0435\u00a0<code>Input\/Output<\/code>\u00a0\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0432\u0438\u0434\u0435\u0442\u044c, \u0447\u0442\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439\u00a0<code>cljfn<\/code>\u00a0(<em>Clojure function<\/em>) \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <code>check_if_or_we_have_any_eth<\/code>.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/e7c\/a27\/d2d\/e7ca27d2d6f9e70a4d06726053787957.png\" width=\"760\" height=\"794\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/e7c\/a27\/d2d\/e7ca27d2d6f9e70a4d06726053787957.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0424\u0443\u043d\u043a\u0446\u0438\u044f\u00a0<code>check_if_or_we_have_any_eth<\/code>\u00a0<a href=\"https:\/\/gitflic.ru\/project\/dpisarenko\/minimal-crypto-exchange\/blob?file=process-engine%2Fsrc%2Fmain%2Fresources%2Fcom%2Fdpisarenko%2Fcore.clj\" rel=\"noopener noreferrer nofollow\"><u>\u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442<\/u><\/a>\u00a0\u0442\u0430\u043a:<\/p>\n<pre><code class=\"lisp\">(defn check_if_or_we_have_any_eth   [de]   (let [available-eth (.getVariable de \"EXCHANGE_ACCOUNT_BALANCE_WEI\")]      (.setVariable de \"ANY_ETH_AVAILABLE\" (> available-eth 0))) )<\/code><\/pre>\n<p>\u042d\u0442\u043e\u0442 \u043a\u043e\u0434 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<ul>\n<li>\n<p>\u041c\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0441 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c\u00a0<code>check_if_or_we_have_any_eth<\/code>\u00a0(\u043f\u0435\u0440\u0432\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430).<\/p>\n<\/li>\n<li>\n<p>\u042d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u043e\u0431\u044a\u0435\u043a\u0442\u00a0<code>de<\/code>\u00a0(<em>DelegateExecution<\/em>) \u0432 \u043a\u0430\u0447\u0435c\u0442\u0432\u0435 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430 (\u0432\u0442\u043e\u0440\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430).<\/p>\n<\/li>\n<li>\n<p>\u0412 \u0442\u0440\u0435\u0442\u044c\u0435\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u043c\u044b \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439\u00a0<code>available-eth<\/code>\u00a0\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 <code>EXCHANGE_ACCOUNT_BALANCE_WEI<\/code>. \u041a\u043b\u043e\u0436\u0443\u0440\u0438\u0441\u0442\u044b\u0439 \u043a\u043e\u0434\u00a0<code>(.getVariable de \"EXCHANGE_ACCOUNT_BALANCE_WEI\")<\/code>\u00a0\u0434\u0435\u043b\u0430\u0435\u0442 \u0442\u043e \u0436\u0435, \u0447\u0442\u043e  <code>de.getVariable(\"EXCHANGE_ACCOUNT_BALANCE_WEI\")<\/code>\u00a0\u043d\u0430 \u0414\u0436\u0430\u0432\u0435.<\/p>\n<\/li>\n<li>\n<p>\u0412 \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u043c\u044b \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u00a0<code>ANY_ETH_AVAILABLE<\/code>\u00a0\u0440\u0430\u0432\u043d\u043e\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0443 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u00a0<code>available-eth > 0<\/code>.<\/p>\n<\/li>\n<\/ul>\n<h2>\u041a\u0430\u043a \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u0443 \u043a\u0440\u0438\u043f\u0442\u043e\u0431\u0438\u0440\u0436\u0443 \u0432 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0438?<\/h2>\n<p>\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0443\u0436\u043d\u043e<\/p>\n<ol>\n<li>\n<p>\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0438\u0441\u043f\u044b\u0442\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0441\u0435\u0442\u0438,<\/p>\n<\/li>\n<li>\n<p>\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0441\u043a\u043e\u043d\u0444\u0438\u0440\u0443\u0433\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u041a\u0430\u043c\u0443\u043d\u0434\u0443,<\/p>\n<\/li>\n<li>\n<p>\u043e\u0431\u043c\u0435\u043d\u044f\u0442\u044c \u0411\u0438\u0442\u043a\u043e\u0439\u043d \u043d\u0430 \u0422\u0438\u0442\u0435\u0440 \u0438<\/p>\n<\/li>\n<li>\n<p>\u0422\u0438\u0442\u0435\u0440 \u043d\u0430 \u0411\u0438\u0442\u043a\u043e\u0439\u043d.<\/p>\n<\/li>\n<\/ol>\n<p>\u041a\u0430\u043a \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c, \u043e\u043f\u0438\u0441\u0430\u043d\u043e \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445 1, 2 \u0438 3 \u043d\u0438\u0436\u0435.<\/p>\n<h2>\u0418\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u044d\u0442\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f<\/h2>\n<p>\u0415\u0441\u043b\u0438 \u0412\u044b \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u043d\u0430\u00a0<a href=\"https:\/\/gitflic.ru\/project\/dpisarenko\/minimal-crypto-exchange\" rel=\"noopener noreferrer nofollow\"><u>\u043a\u043e\u0434<\/u><\/a>, \u0442\u043e \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u0435 \u0440\u044f\u0434 \u0441\u0435\u0440\u044c\u0435\u0437\u043d\u044b\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435:<\/p>\n<ul>\n<li>\n<p><strong>\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0434\u0432\u043e\u0439\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438<\/strong>\u00a0(double-entry accounting): \u0412 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0431\u0438\u0440\u0436\u0430 \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u0435\u043d\u044c\u0433\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0435\u0441\u0442\u044c \u0432 \u0442\u043e\u043c \u0438\u043b\u0438 \u0438\u043d\u043e\u043c \u043a\u0440\u0438\u043f\u0442\u043e-\u043a\u043e\u0448\u0435\u043b\u044c\u043a\u0435. \u041e\u043d\u0430 \u043d\u0435 \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u0434\u0435\u043d\u044c\u0433\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0434\u0443\u0442 (\u043d\u043e \u0435\u0449\u0435 \u043d\u0435 \u043f\u0440\u0438\u0448\u043b\u0438) \u0432 \u043a\u043e\u0448\u0435\u043b\u0435\u043a \u0431\u0438\u0440\u0436\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0442\u0435 \u0434\u0435\u043d\u044c\u0433\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0438\u0440\u0436\u0430 \u043f\u043e\u043e\u0431\u0435\u0449\u0430\u043b\u0430 \u043e\u0442\u0434\u0430\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u0443\u0436\u0435 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0445 \u043e\u0431\u043c\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 (\u043d\u043e \u0435\u0449\u0435 \u043d\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u043b\u0430). \u0427\u0442\u043e\u0431\u044b \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u044f \u043a\u0440\u0435\u0434\u0438\u0442\u043e\u0440\u0441\u043a\u0443\u044e \u0438 \u0434\u0435\u0431\u0438\u0442\u043e\u0440\u0441\u043a\u0443\u044e \u0437\u0430\u0434\u043e\u043b\u0436\u0435\u043d\u043d\u043e\u0441\u0442\u044c, \u043d\u0443\u0436\u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0434\u0432\u043e\u0439\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438.<\/p>\n<\/li>\n<li>\n<p><strong>\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u0448\u0438\u0431\u043e\u043a:<\/strong>\u00a0\u0415\u0441\u043b\u0438 \u043e\u0431\u043c\u0435\u043d \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d \u043f\u043e \u0442\u043e\u0439 \u0438\u043b\u0438 \u0438\u043d\u043e\u0439 \u043f\u0440\u0438\u0447\u0438\u043d\u0435, \u0434\u0435\u043d\u044c\u0433\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0435\u043d\u044b \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u0435\u043b\u044e. \u041d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0442\u0430\u043a\u043e\u0433\u043e \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 \u043d\u0435\u0442.<\/p>\n<\/li>\n<li>\n<p><strong>\u041f\u043b\u043e\u0445\u0430\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u043a\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430:<\/strong>\u00a0\u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0435\u0441\u0442\u044c \u0434\u0432\u0435 \u0441\u0445\u0435\u043c\u044b BPMN \u0434\u043b\u044f \u043e\u0434\u043d\u043e\u0433\u043e \u0438 \u0442\u043e\u0433\u043e \u0436\u0435 \u0434\u0435\u043b\u043e\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 (\u043e\u0431\u043c\u0435\u043d \u043e\u0434\u043d\u043e\u0439 \u0432\u0430\u043b\u044e\u0442\u044b \u043d\u0430 \u0434\u0440\u0443\u0433\u0443\u044e). \u0421\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043e\u0434\u043d\u0443 \u0441\u0445\u0435\u043c\u0443 BPMN \u0438 \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0435 \u043f\u043e\u0434 \u043f\u0430\u0440\u044b \u0432\u0430\u043b\u044e\u0442 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430. \u042d\u0442\u043e \u0443\u043b\u0443\u0447\u0448\u0438\u0442 \u0441\u043e\u043f\u0440\u043e\u0432\u043e\u0436\u0434\u0430\u0435\u043c\u043e\u0441\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u044b.<\/p>\n<\/li>\n<\/ul>\n<p>\u0415\u0441\u043b\u0438 \u044f \u0437\u043d\u0430\u044e \u043f\u0440\u043e \u044d\u0442\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b, \u043f\u043e\u0447\u0435\u043c\u0443 \u043e\u043d\u0438 \u043d\u0435 \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u044b?<\/p>\n<h2>\u041e\u0431\u043c\u0435\u043d\u043d\u0438\u043a \u0411\u0438\u0442\u043a\u043e\u0439\u043d\u0430 \u043d\u0430 \u0422\u0438\u0442\u0435\u0440 \u0431\u0435\u0441\u043f\u043e\u043b\u0435\u0437\u0435\u043d \u0434\u043b\u044f \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0439 \u0436\u0438\u0437\u043d\u0438<\/h2>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f \u0431\u044b\u043b \u0431\u043e\u043b\u0435\u0435-\u043c\u0435\u043d\u0435\u0435 \u0433\u043e\u0442\u043e\u0432 \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u043b \u043d\u0430 \u043c\u043e\u0435\u0439 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435, \u044f \u0441\u043f\u0440\u043e\u0441\u0438\u043b \u0442\u043e\u0432\u0430\u0440\u0438\u0449\u0430: &#171;\u0415\u0441\u043b\u0438 \u044f \u0445\u043e\u0447\u0443 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c 1 \u0434\u043e\u043b\u043b\u0430\u0440 \u0432 \u0442\u0438\u0442\u0435\u0440\u043e\u0432\u043e\u043c \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u0435, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u043d\u0435 \u043d\u0430\u0434\u043e \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u043b\u0430\u0442\u0438\u0442\u044c \u043d\u0430\u043a\u043b\u0430\u0434\u043d\u044b\u0445?&#187; \u041d\u0430\u043a\u043b\u0430\u0434\u043d\u044b\u0435 \u2013 \u044d\u0442\u043e \u0432 \u0442. \u0447. &#171;\u0433\u0430\u0437&#187; \u2013 \u0434\u0435\u043d\u044c\u0433\u0438 \u0437\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u0445 \u0441\u0435\u0442\u0438.<\/p>\n<p>\u041e\u043d \u043e\u0442\u0432\u0435\u0442\u0438\u043b: &#171;\u0412\u0441\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u041d\u0430 \u0420\u0435\u0434\u0434\u0438\u0442\u0435 \u043f\u043e\u043b\u043d\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043e\u0442 \u043b\u044e\u0434\u0435\u0439, \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0432\u0448\u0438\u0445 100 \u0434\u043e\u043b\u043b\u0430\u0440\u043e\u0432 \u0437\u0430 300 \u0434\u043e\u043b\u043b\u0430\u0440\u043e\u0432 \u043d\u0430\u043a\u043b\u0430\u0434\u043d\u044b\u0445.&#187;<\/p>\n<p>\u0417\u0434\u0435\u0441\u044c \u0441\u0442\u0430\u043b\u043e \u044f\u0441\u043d\u043e, \u0447\u0442\u043e \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f \u043d\u0435 \u0433\u043e\u0442\u043e\u0432 \u0434\u043b\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0448\u0430\u0433\u0430 \u2013 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0438 \u0433\u0434\u0435-\u043d\u0438\u0431\u0443\u0434\u044c \u043d\u0430 \u0425\u0435\u0440\u043e\u043a\u0443 \u0438 \u043e\u0442\u043b\u0430\u0434\u043a\u043e\u0439 \u043d\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u0434\u0435\u043d\u044c\u0433\u0430\u0445. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0443\u0436\u043d\u0430 \u0432\u0430\u043b\u044e\u0442\u0430, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043c\u043e\u0436\u043d\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u043f\u0440\u043e\u0432\u0435\u0440\u043e\u0447\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u044b \u043d\u0430 \u0441\u0443\u043c\u043c\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0430 \u0441\u0442\u0440\u0430\u0448\u043d\u043e \u043f\u043e\u0442\u0435\u0440\u044f\u0442\u044c. \u0421 \u0422\u0438\u0442\u0435\u0440\u043e\u043c \u0438 \u043b\u044e\u0431\u044b\u043c\u0438 \u0432\u0430\u043b\u044e\u0442\u0430\u043c\u0438, \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u043c\u0438 \u043d\u0430 \u042d\u0444\u0438\u0440\u0435, \u044d\u0442\u043e \u043d\u0435 \u043f\u0440\u043e\u0439\u0434\u0435\u0442.<\/p>\n<p>\u0423\u0436\u0435 \u043f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u043e\u0431\u043c\u0435\u043d \u0411\u0438\u0442\u043a\u043e\u0439\u043d\u0430 \u043d\u0430 \u0422\u0438\u0442\u0435\u0440 \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b, \u044f \u0443\u0437\u043d\u0430\u043b, \u0447\u0442\u043e \u0434\u043b\u044f \u043a\u043e\u043f\u0435\u0435\u0447\u043d\u044b\u0445 \u043f\u043b\u0430\u0442\u0435\u0436\u0435\u0439 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u0438\u0433\u043e\u0434\u043d\u044b \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442\u044b:<\/p>\n<ol>\n<li>\n<p>Elrond<\/p>\n<\/li>\n<li>\n<p>Iota<\/p>\n<\/li>\n<li>\n<p>Hbar<\/p>\n<\/li>\n<li>\n<p>Graph<\/p>\n<\/li>\n<li>\n<p>Cardano (\u044f\u043a\u043e\u0431\u044b \u0443 \u044d\u0442\u043e\u0439 \u0432\u0430\u043b\u044e\u0442\u044b \u043d\u0430\u043a\u043b\u0430\u0434\u043d\u044b\u0435 \u0437\u0430 \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u043d\u0435 \u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u0442\u044c 30 \u0446\u0435\u043d\u0442\u043e\u0432)<\/p>\n<\/li>\n<li>\n<p>Solona<\/p>\n<\/li>\n<\/ol>\n<p>\u0422\u0430\u043a \u044d\u0442\u043e \u0438\u043b\u0438 \u043d\u0435\u0442, \u043c\u043e\u0436\u043d\u043e \u0443\u0437\u043d\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u043f\u044b\u0442\u043d\u044b\u043c \u043f\u0443\u0442\u0435\u043c.<\/p>\n<h2>\u0427\u0442\u043e \u0434\u0430\u043b\u044c\u0448\u0435?<\/h2>\n<p>\u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c\u00a0<a href=\"https:\/\/gitflic.ru\/project\/dpisarenko\/minimal-crypto-exchange\/file\" rel=\"noopener noreferrer nofollow\"><u>\u043a\u043e\u0434<\/u><\/a>\u00a0\u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c \u043d\u0438\u0436\u0435.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u0412\u044b \u0437\u043d\u0430\u0435\u0442\u0435, \u043a\u0430\u043a \u0435\u0433\u043e \u0443\u043b\u0443\u0447\u0448\u0438\u0442\u044c, \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u0435\u0441\u044c, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u0430\u0448\u0438\u043c \u043c\u043d\u0435\u043d\u0438\u0435\u043c \u043c\u043d\u0435 \u0432 \u0422\u0435\u043b\u0435\u0433\u0440\u0430\u043c (<a class=\"mention\" href=\"\/users\/dpisarenko\">@dpisarenko<\/a>) \u0438 \u0437\u0434\u0435\u0441\u044c \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445.<\/p>\n<p>\u041a\u0442\u043e \u0437\u043d\u0430\u0435\u0442, \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0438\u0437 \u044d\u0442\u043e\u0439 \u0438\u0441\u043a\u0440\u044b \u0432\u043e\u0437\u0433\u043e\u0440\u0438\u0442\u0441\u044f \u043f\u043b\u0430\u043c\u044f \u0438 \u0443 \u043d\u0430\u0441 \u043a\u043e\u0433\u0434\u0430-\u043d\u0438\u0431\u0443\u0434\u044c \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u0441\u0432\u043e\u0439 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0439 \u043a\u0440\u0438\u043f\u0442\u043e\u043e\u0431\u043c\u0435\u043d\u043d\u0438\u043a \u0432 \u043a\u0430\u0436\u0434\u043e\u043c \u043f\u043e\u0434\u044a\u0435\u0437\u0434\u0435.<\/p>\n<hr\/>\n<h2>\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 1: \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0438\u0441\u043f\u044b\u0442\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f<\/h2>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u044b \u0441 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0434\u0435\u043d\u044c\u0433\u0430\u043c\u0438 \u0434\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u0430 \u043e\u043f\u0430\u0441\u043d\u043e. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430\u043c \u043d\u0430\u0434\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0434\u0432\u0435 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u0438\u0441\u043f\u044b\u0442\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0441\u0435\u0442\u0438: \u041e\u0434\u043d\u0443 \u0434\u043b\u044f \u0411\u0438\u0442\u043a\u043e\u0439\u043d\u0430 (BTC), \u0432\u0442\u043e\u0440\u0443\u044e \u0434\u043b\u044f \u0422\u0438\u0442\u0435\u0440\u0430 (USDT). USDT \u2013 \u044d\u0442\u043e \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 \u042d\u0444\u0438\u0440\u0435. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u0430 \u0438\u0441\u043f\u044b\u0442\u0430\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0441\u0435\u0442\u044c \u0434\u043b\u044f \u042d\u0444\u0438\u0440\u0430.<\/p>\n<p>\u0414\u0430\u043b\u0435\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u043e, \u043a\u0430\u043a \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043e\u0431\u0435 \u0441\u0435\u0442\u0438.<\/p>\n<h3>\u0428\u0430\u0433 1: \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0414\u043e\u043a\u0435\u0440<\/h3>\n<p>\u042f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e \u0414\u043e\u043a\u0435\u0440, \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u043a\u0440\u0430\u0442\u0438\u0442\u044c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0440\u0443\u0447\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u043f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u0438\u0441\u043f\u044b\u0442\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0441\u0435\u0442\u0435\u0439. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0414\u043e\u043a\u0435\u0440. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u0435\u0433\u043e, \u0435\u0441\u043b\u0438 \u044d\u0442\u043e \u0435\u0449\u0435 \u043d\u0435 \u0441\u0434\u0435\u043b\u0430\u043d\u043e.<\/p>\n<h3>\u0428\u0430\u0433 2: \u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b \u0414\u043e\u043a\u0435\u0440\u0430<\/h3>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0414\u043e\u043a\u0435\u0440 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d, \u0432\u044b\u0433\u0440\u0443\u0437\u0438\u0442\u0435 (git clone) \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435\u00a0<a href=\"https:\/\/gitflic.ru\/project\/dpisarenko\/minimal-crypto-exchange\" rel=\"noopener noreferrer nofollow\"><u>minimal-crypto-exchange<\/u><\/a>. \u0422\u0430\u043c \u0432\u044b \u043d\u0430\u0439\u0434\u0435\u0442\u0435 \u0444\u0430\u0439\u043b\u00a0<a href=\"https:\/\/gitflic.ru\/project\/dpisarenko\/minimal-crypto-exchange\/blob?file=docker-compose.yml\" rel=\"noopener noreferrer nofollow\"><u>docker-compose.yml<\/u><\/a>.<\/p>\n<p>\u0412 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0443\u00a0<code>docker-compose up -d<\/code>\u00a0\u0432 \u0442\u043e\u0439 \u0436\u0435 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438, \u0433\u0434\u0435 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0444\u0430\u0439\u043b\u00a0<code>docker-compose.yml<\/code>.<\/p>\n<h3>\u0428\u0430\u0433 3: \u0418\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0443 \u0432 \u0438\u0441\u043f\u044b\u0442\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438 \u0411\u0438\u0442\u043a\u043e\u0439\u043d\u0430<\/h3>\n<p>\u042d\u0442\u043e\u0442 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u043e\u0441\u043d\u043e\u0441\u043d\u043e\u0432\u0430\u043d \u043d\u0430 \u044d\u0442\u043e\u043c \u043e\u0442\u0432\u0435\u0442\u0435\u00a0<a href=\"https:\/\/stackoverflow.com\/a\/69906139\/399457\" rel=\"noopener noreferrer nofollow\"><u>\u043e\u0442\u0432\u0435\u0442\u0435<\/u><\/a>.<\/p>\n<h4>\u0428\u0430\u0433 3.1: \u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443<\/h4>\n<p>\u0427\u0442\u043e\u0431\u044b \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443, \u0449\u0435\u043b\u043a\u043d\u0438\u0442\u0435 \u043f\u043e \u0438\u043a\u043e\u043d\u043a\u0435 \u0432 \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043d\u043e\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0414\u043e\u043a\u0435\u0440\u0430:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/7a6\/018\/4ab\/7a60184ab0cded99456128e1964f5255.png\" width=\"2088\" height=\"514\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/7a6\/018\/4ab\/7a60184ab0cded99456128e1964f5255.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0432\u044b \u0443\u0432\u0438\u0434\u0438\u0442\u0435 \u0432\u043e\u0442 \u044d\u0442\u043e:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/6f1\/b8a\/d9d\/6f1b8ad9dfc8005c0648d2313ce694d3.png\" width=\"1442\" height=\"832\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/6f1\/b8a\/d9d\/6f1b8ad9dfc8005c0648d2313ce694d3.png\"\/><figcaption><\/figcaption><\/figure>\n<h4>\u0428\u0430\u0433 3.2: \u0418\u0437\u043c\u0435\u043d\u0438\u0442\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0443\u0437\u043b\u0430 \u0411\u0438\u0442\u043a\u043e\u0439\u043d<\/h4>\n<p>\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435:<\/p>\n<pre><code class=\"bash\">vi \/root\/.bitcoin\/bitcoin.conf<\/code><\/pre>\n<p>\u0414\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0432 \u0444\u0430\u0439\u043b \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u0435 \u0435\u0433\u043e.<\/p>\n<pre><code>peerbloomfilters=1<\/code><\/pre>\n<p>\u0412\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435:<\/p>\n<pre><code class=\"bash\">cat \/root\/.bitcoin\/bitcoin.conf<\/code><\/pre>\n<p>\u0415\u0441\u043b\u0438 \u0432\u0441\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e, \u0432\u044b \u0443\u0432\u0438\u0434\u0438\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<pre><code class=\"bash\">\/ # cat \/root\/.bitcoin\/bitcoin.conf regtest=1 dnsseed=0 upnp=0 server=1 zmqpubrawtx=tcp:\/\/0.0.0.0:28332 zmqpubhashblock=tcp:\/\/0.0.0.0:28332 whitelist=0.0.0.0\/0 txindex=1 addressindex=1 timestampindex=1 spentindex=1 uacomment=bitcore rpcworkqueue=128 dbcache=16384 rpcallowip=0.0.0.0\/0 rpcuser=test rpcpassword=test peerbloomfilters=1 [regtesb] rpcbind=0.0.0.0 port=19000 rpcport=19001<\/code><\/pre>\n<h4>\u0428\u0430\u0433 3.3: \u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u0443\u0437\u0435\u043b \u0411\u0438\u0442\u043a\u043e\u0439\u043d\u0430<\/h4>\n<p>\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0443\u00a0<code>Restart<\/code>\u00a0\u0432 \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043d\u043e\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0414\u043e\u043a\u0435\u0440\u0430:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/f80\/660\/870\/f8066087086f581b66baaa2a0676536d.png\" width=\"2094\" height=\"458\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/f80\/660\/870\/f8066087086f581b66baaa2a0676536d.png\"\/><figcaption><\/figcaption><\/figure>\n<h3>\u0428\u0430\u0433 4: \u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435, \u0447\u0442\u043e \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0438\u0441\u043f\u044b\u0442\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438 \u0411\u0438\u0442\u043a\u043e\u0439\u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442<\/h3>\n<p>\u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u0430\u0434\u0440\u0435\u0441\u00a0<a href=\"http:\/\/localhost:3002\" rel=\"noopener noreferrer nofollow\">http:\/\/localhost:3002<\/a>\u00a0\u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435. \u0411\u0440\u0430\u0443\u0437\u0435\u0440 \u043f\u043e\u043f\u0440\u043e\u0441\u0438\u0442 \u0438\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u043f\u0430\u0440\u043e\u043b\u044c. \u0412\u0432\u0435\u0434\u0438\u0442\u0435\u00a0<code>electrumx<\/code>\u00a0\u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0438\u043c\u0435\u043d\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438\u00a0<code>test<\/code>\u00a0\u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u043e\u043b\u044f.<\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0432\u044b \u0443\u0432\u0438\u0434\u0438\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u044d\u043a\u0440\u0430\u043d:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/9f4\/f84\/a76\/9f4f84a76f3e65266ad953a019162c26.png\" width=\"2826\" height=\"1522\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/9f4\/f84\/a76\/9f4f84a76f3e65266ad953a019162c26.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u042d\u0442\u043e \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u00a0<a href=\"https:\/\/bitcoinexplorer.org\/\" rel=\"noopener noreferrer nofollow\"><u>BTC Explorer<\/u><\/a>.<\/p>\n<h3>\u0428\u0430\u0433 5: \u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435, \u0447\u0442\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0438\u0441\u043f\u044b\u0442\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438 \u042d\u0444\u0438\u0440\u0430 (Blockscout)<\/h3>\n<p>\u0415\u0441\u043b\u0438 \u0432\u044b \u0432\u0432\u0435\u0434\u0435\u0442\u0435 \u0430\u0434\u0440\u0435\u0441\u00a0<a href=\"http:\/\/localhost:4000\" rel=\"noopener noreferrer nofollow\">http:\/\/localhost:4000<\/a>\u00a0\u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435, \u0442\u043e \u0443\u0432\u0438\u0434\u0438\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/70f\/462\/cdd\/70f462cdd9a89ea37ca3938b18917187.png\" width=\"2844\" height=\"1408\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/70f\/462\/cdd\/70f462cdd9a89ea37ca3938b18917187.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u042d\u0442\u043e \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u00a0<a href=\"https:\/\/github.com\/blockscout\/blockscout\" rel=\"noopener noreferrer nofollow\"><u>Blockscout<\/u><\/a>.<\/p>\n<h3>\u0428\u0430\u0433 6: \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442 USDT<\/h3>\n<p>\u0412 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u043f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e\u00a0<a href=\"https:\/\/gitflic.ru\/project\/dpisarenko\/minimal-crypto-exchange\/file?file=erc20%2Fnpm-prj\" rel=\"noopener noreferrer nofollow\"><u>erc20\/npm-prj<\/u><\/a>. \u0412 \u043d\u0435\u0439 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0443\u00a0<code>.\/deploy-USDT.sh<\/code>.<\/p>\n<p>\u042d\u0442\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0432\u044b\u0434\u0430\u0441\u0442 \u0442\u0435\u043a\u0441\u0442 \u0432\u0440\u043e\u0434\u0435\u00a0<code>USDT contract deployed to: 0x0B0fA2cC0edd477953D864d8d45c7453c6142802<\/code>. \u0417\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u044d\u0442\u043e\u0442 \u0430\u0434\u0440\u0435\u0441.<\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439 \u0432 \u0411\u043b\u043e\u043a\u0441\u043a\u0430\u0443\u0442\u0435 \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443\u00a0<a href=\"http:\/\/localhost:4000\/txs\" rel=\"noopener noreferrer nofollow\">http:\/\/localhost:4000\/txs<\/a>. \u0422\u0430\u043c \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u0432\u0438\u0434\u043d\u0430 \u0437\u0430\u043f\u0438\u0441\u044c\u00a0<em>Token Minting<\/em>.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/5c9\/229\/e28\/5c9229e28464d88cb352d6b397913867.png\" width=\"2714\" height=\"1136\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/5c9\/229\/e28\/5c9229e28464d88cb352d6b397913867.png\"\/><figcaption><\/figcaption><\/figure>\n<h4>\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b<\/h4>\n<p>\u0427\u0442\u043e\u0431\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u0448\u0430\u0433, \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c\u00a0<a href=\"https:\/\/hardhat.org\/\" rel=\"noopener noreferrer nofollow\"><u>Hardhat<\/u><\/a>. \u0427\u0442\u043e\u0431\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043f\u0440\u043e\u0448\u043b\u0430 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e, \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u043f\u0430\u043f\u043a\u0443 HardHat \u0438\u0437\u00a0<code>erc20\/npm-prj\/node_modules\/.bin<\/code>.<\/p>\n<h3>\u0428\u0430\u0433 7: \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0430\u0434\u0440\u0435\u0441 \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u0430 USDT \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u041a\u0430\u043c\u0443\u043d\u0434\u044b<\/h3>\n<p>\u0412\u043e\u0437\u044c\u043c\u0438\u0442\u0435 \u0430\u0434\u0440\u0435\u0441 \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u0430 USDT \u0438\u0437 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e \u0448\u0430\u0433\u0430 \u0438 \u0432\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u0435\u0433\u043e \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u00a0<code>accounts.eth.usdt.contract-address<\/code>\u00a0\u0432 \u0444\u0430\u0439\u043b\u0435\u00a0<a href=\"https:\/\/gitflic.ru\/project\/dpisarenko\/minimal-crypto-exchange\/blob?file=process-engine%2Fsrc%2Fmain%2Fresources%2Fapplication.yaml\" rel=\"noopener noreferrer nofollow\"><u>minimal-crypto-exchange\/process-engine\/src\/main\/resources\/application.yaml<\/u><\/a>:<\/p>\n<pre><code class=\"yaml\">accounts:   usdt:     contract-address: '0x0B0fA2cC0edd477953D864d8d45c7453c6142802'<\/code><\/pre>\n<h3>\u0428\u0430\u0433 8: \u0414\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u042d\u0444\u0438\u0440\u0430 \u0432 \u0441\u0447\u0435\u0442 \u0431\u0438\u0440\u0436\u0438<\/h3>\n<p>\u0421\u0443\u0442\u044c \u044d\u0442\u043e\u0433\u043e \u0448\u0430\u0433\u0430 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c. \u0412 \u0438\u0441\u043f\u044b\u0442\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438 \u042d\u0444\u0438\u0440\u0430 \u0431\u0443\u0434\u0435\u0442 \u0441\u0447\u0435\u0442 \u043a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442\u043d\u043e\u0439 \u0431\u0438\u0440\u0436\u0438. \u041c\u044b \u0441\u043e\u0437\u0434\u0430\u043b\u0438 \u043f\u0443\u0441\u0442\u0443\u044e \u0438\u0441\u043f\u044b\u0442\u0430\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0441\u0435\u0442\u044c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430 \u044d\u0442\u043e\u043c \u0441\u0447\u0435\u0442\u0443 \u043d\u0435\u0442 \u0434\u0435\u043d\u0435\u0433 (\u043d\u0435\u0442 \u042d\u0444\u0438\u0440\u0430). \u0412 \u044d\u0442\u043e\u043c \u0448\u0430\u0433\u0435 \u043c\u044b \u043f\u043e\u043b\u043e\u0436\u0438\u043c \u042d\u0444\u0438\u0440 \u043d\u0430 \u044d\u0442\u043e\u0442 \u0441\u0447\u0435\u0442.<\/p>\n<h4>\u0428\u0430\u0433 1: \u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443\u00a0geth<\/h4>\n<p>\u0415\u0441\u043b\u0438 \u0432\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442\u0435 \u043f\u043e\u0434 \u041c\u0430\u043a\u041e\u0421, \u0449\u0435\u043b\u043a\u043d\u0438\u0442\u0435 \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0443\u00a0<code>CLI<\/code>\u00a0\u0432 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0439 \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0435 \u0414\u043e\u043a\u0435\u0440\u0430.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/19d\/383\/c80\/19d383c80f8c1a052f9e5c0a8dce4e27.png\" width=\"2032\" height=\"722\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/19d\/383\/c80\/19d383c80f8c1a052f9e5c0a8dce4e27.png\"\/><figcaption><\/figcaption><\/figure>\n<h4>\u0428\u0430\u0433 2: \u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 JavaScript<\/h4>\n<p>\u0412 \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0435\u00a0<code>geth<\/code>\u00a0\u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0443\u00a0geth attach <a href=\"http:\/\/localhost:8178\" rel=\"noopener noreferrer nofollow\">http:\/\/localhost:8178<\/a>.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/9ba\/380\/962\/9ba3809627183b33a41d0a6255fe9301.png\" width=\"1490\" height=\"440\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/9ba\/380\/962\/9ba3809627183b33a41d0a6255fe9301.png\"\/><figcaption><\/figcaption><\/figure>\n<h4>\u0428\u0430\u0433 3: \u0420\u0430\u0437\u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0439\u0442\u0435 \u0431\u0443\u0444\u0435\u0440\u043d\u044b\u0439 \u0441\u0447\u0435\u0442<\/h4>\n<p>\u0412\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435\u0441\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0437\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u0443\u0444\u0435\u0440\u043d\u044b\u0439 \u0441\u0447\u0435\u0442. \u041f\u0435\u0440\u0432\u044b\u0439 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 \u2013 \u0430\u0434\u0440\u0435\u0441 \u0431\u0443\u0444\u0435\u0440\u043d\u043e\u0433\u043e \u0441\u0447\u0435\u0442\u0430, \u0432\u0442\u043e\u0440\u043e\u0439 \u2013 \u043f\u0430\u0440\u043e\u043b\u044c.<\/p>\n<pre><code class=\"javascript\">web3.personal.unlockAccount('0x411167FeFecAD12Da17F9063143706C39528aa28', 'carsdrivefasterbecausetheyhavebrakes', 600);<\/code><\/pre>\n<h4>\u0428\u0430\u0433 4: \u041e\u0442\u043f\u0440\u0430\u0432\u044c\u0442\u0435 \u042d\u0444\u0438\u0440<\/h4>\n<p>\u0412\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435\u0441\u044c \u043a\u043e\u0434\u043e\u043c \u043d\u0438\u0436\u0435, \u0447\u0442\u043e\u0431\u044b \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c 1000 \u0435\u0434\u0438\u043d\u0438\u0446 \u042d\u0444\u0438\u0440\u0430 \u0441 \u0431\u0443\u0444\u0435\u0440\u043d\u043e\u0433\u043e \u0441\u0447\u0435\u0442\u0430 \u043d\u0430 \u0441\u0447\u0435\u0442 \u043a\u0440\u0438\u043f\u0442\u043e\u0431\u0438\u0440\u0436\u0438:<\/p>\n<pre><code class=\"javascript\">eth.sendTransaction({ from: '0x411167FeFecAD12Da17F9063143706C39528aa28', to: '0x190FD61ED8fE0067f0f09EA992C1BF96209bab66', value: web3.toWei(1000, 'ether')});<\/code><\/pre>\n<p><code>web3.toWei(1000, 'ether')<\/code>\u00a0\u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 1000 ETH (1000 \u0435\u0434\u0438\u043d\u0438\u0446 \u042d\u0444\u0438\u0440\u0430).<\/p>\n<p>\u041d\u0435 \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0439\u0442\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443\u00a0<code>geth<\/code>, \u0442. \u043a. \u043e\u043d\u0430 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0432\u0430\u043c \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u0448\u0430\u0433\u0435.<\/p>\n<h3>\u0428\u0430\u0433 9: \u0414\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u042d\u0444\u0438\u0440\u0430 \u043d\u0430 \u0441\u0447\u0435\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u0435\u043b\u044f USDT<\/h3>\n<p>\u042d\u0442\u043e\u0442 \u0448\u0430\u0433 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u0435\u043d \u0448\u0430\u0433\u0443 8. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0437\u0434\u0435\u0441\u044c \u0434\u0430\u043d\u044b \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0431\u0435\u0437 \u043e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0439.<\/p>\n<h4>\u0428\u0430\u0433 1: \u0420\u0430\u0437\u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0439\u0442\u0435 \u0431\u0443\u0444\u0435\u0440\u043d\u044b\u0439 \u0441\u0447\u0435\u0442<\/h4>\n<pre><code class=\"javascript\">web3.personal.unlockAccount('0x411167FeFecAD12Da17F9063143706C39528aa28', 'carsdrivefasterbecausetheyhavebrakes', 600);<\/code><\/pre>\n<h4>\u0428\u0430\u0433 2: \u041e\u0442\u043f\u0440\u0430\u0432\u044c\u0442\u0435 \u042d\u0444\u0438\u0440<\/h4>\n<pre><code class=\"javascript\">eth.sendTransaction({ from: '0x411167FeFecAD12Da17F9063143706C39528aa28', to: '0xDd1e8cC92AF9748193459ADDF910E1b96E88154D', value: web3.toWei(1000, 'ether')});<\/code><\/pre>\n<h2>\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 2: \u041e\u0431\u043c\u0435\u043d \u0411\u0438\u0442\u043a\u043e\u0439\u043d\u0430 \u043d\u0430 \u042d\u0444\u0438\u0440<\/h2>\n<p>\u0417\u0434\u0435\u0441\u044c \u043e\u043f\u0438\u0441\u0430\u043d\u043e, \u043a\u0430\u043a \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u0440\u0438\u043f\u0442\u043e\u0431\u0438\u0440\u0436\u0438 \u043c\u043e\u0436\u043d\u043e \u043e\u0431\u043c\u0435\u043d\u044f\u0442\u044c \u0411\u0438\u0442\u043a\u043e\u0439\u043d \u043d\u0430 \u042d\u0444\u0438\u0440.<\/p>\n<h3>\u0428\u0430\u0433 1: \u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0411\u0438\u0442\u043a\u043e\u0439\u043d-\u0430\u0434\u0440\u0435\u0441\u0430 1 \u0438 2<\/h3>\n<p>\u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0443\u0437\u043b\u0430 \u0411\u0438\u0442\u043a\u043e\u0439\u043d \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e<\/p>\n<pre><code class=\"bash\">docker exec -it minimal-crypto-exchange_node_1 \/bin\/bash<\/code><\/pre>\n<p>\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0438 \u0437\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u0434\u0432\u0430 \u0430\u0434\u0440\u0435\u0441\u0430 \u0432 \u0438\u0441\u043f\u044b\u0442\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438 \u0411\u0438\u0442\u043a\u043e\u0439\u043d\u0430,\u00a0<code>\u0410\u0434\u0440\u0435\u0441 1<\/code>\u00a0\u0438\u00a0<code>\u0410\u0434\u0440\u0435\u0441 2<\/code>\u00a0\u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u044b<\/p>\n<pre><code class=\"bash\">bitcoin-cli -regtest getnewaddress<\/code><\/pre>\n<p>\u0432 \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0439 \u0432\u044b\u0448\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435.<\/p>\n<h3>\u0428\u0430\u0433 2: \u041d\u0430\u043c\u0430\u0439\u043d\u0438\u0442\u0435 101 \u0411\u0438\u0442\u043a\u043e\u0439\u043d\u043e\u0432 \u0432 \u0441\u0447\u0435\u0442\u00a0\u0410\u0434\u0440\u0435\u0441 1<\/h3>\n<pre><code>bitcoin-cli -regtest generatetoaddress 101 &lt;\u0410\u0434\u0440\u0435\u0441 1><\/code><\/pre>\n<p>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435: \u0415\u0441\u043b\u0438 \u043d\u0435 \u043e\u0448\u0438\u0431\u0430\u044e\u0441\u044c, \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043d\u0435 \u043c\u0435\u043d\u0435\u0435 101.<\/p>\n<h3>\u0428\u0430\u0433 3: \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u0430\u0434\u0440\u0435\u0441 \u043a\u0440\u0438\u043f\u0442\u043e\u0431\u0438\u0440\u0436\u0438 \u0432 \u041a\u0430\u043c\u0443\u043d\u0434\u0435 \u0440\u0430\u0432\u043d\u044b\u043c\u00a0\u0410\u0434\u0440\u0435\u0441 2<\/h3>\n<p>\u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u0444\u0430\u0439\u043b\u00a0<a href=\"https:\/\/gitflic.ru\/project\/dpisarenko\/minimal-crypto-exchange\/blob?file=process-engine%2Fsrc%2Fmain%2Fresources%2Fapplication.yaml\" rel=\"noopener noreferrer nofollow\"><u>minimal-crypto-exchange\/process-engine\/src\/main\/resources\/application.yaml<\/u><\/a>\u00a0\u0432 \u0418\u0434\u0435\u0435. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u00a0<code>accounts.btc.exchange.address<\/code>\u00a0\u0440\u0430\u0432\u043d\u044b\u043c\u00a0<code>\u0410\u0434\u0440\u0435\u0441 2<\/code>\u00a0\u0438\u0437 \u0448\u0430\u0433\u0430 1 \u0432\u044b\u0448\u0435.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/c76\/7ca\/a73\/c767caa73b8f0debb227ed2119a4d5b5.png\" width=\"1670\" height=\"772\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c76\/7ca\/a73\/c767caa73b8f0debb227ed2119a4d5b5.png\"\/><figcaption><\/figcaption><\/figure>\n<h3>\u0428\u0430\u0433 4: \u0423\u0434\u0430\u043b\u0438\u0442\u0435 \u0444\u0430\u0439\u043b\u044b \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u043e\u0432<\/h3>\n<p>\u0415\u0441\u043b\u0438 \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438\u00a0<code>minimal-crypto-exchange\/process-engine<\/code>\u00a0\u0435\u0441\u0442\u044c \u0444\u0430\u0439\u043b\u044b<\/p>\n<ul>\n<li>\n<p><code>_minimalCryptoExchangeBtcWallet.spvchain<\/code>\u00a0\u0438<\/p>\n<\/li>\n<li>\n<p><code>_minimalCryptoExchangeBtcWallet.wallet<\/code>,<\/p>\n<\/li>\n<\/ul>\n<p>\u0442\u043e \u0443\u0434\u0430\u043b\u0438\u0442\u0435 \u0438\u0445.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/cf3\/355\/5aa\/cf33555aa223803c30a74ed96560c142.png\" width=\"720\" height=\"660\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/cf3\/355\/5aa\/cf33555aa223803c30a74ed96560c142.png\"\/><figcaption><\/figcaption><\/figure>\n<h3>\u0428\u0430\u0433 5: \u041e\u0442\u043f\u0440\u0430\u0432\u044c\u0442\u0435 \u042d\u0444\u0438\u0440 \u043d\u0430 \u0441\u0447\u0435\u0442 \u043a\u0440\u0438\u043f\u0442\u043e\u0431\u0438\u0440\u0436\u0438<\/h3>\n<h4>\u0428\u0430\u0433 1: \u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443\u00a0geth<\/h4>\n<p>\u0415\u0441\u043b\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442\u0435 \u0432 \u041c\u0430\u043a\u043e\u0441\u0438, \u0449\u0435\u043b\u043a\u043d\u0438\u0442\u0435 \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0443\u00a0<code>CLI<\/code>\u00a0\u0432 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0439 \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0435 \u0414\u043e\u043a\u0435\u0440\u0430.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/4f7\/5ba\/931\/4f75ba9310e45b4744fe5b01efddabb9.png\" width=\"2032\" height=\"722\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/4f7\/5ba\/931\/4f75ba9310e45b4744fe5b01efddabb9.png\"\/><figcaption><\/figcaption><\/figure>\n<h4>\u0428\u0430\u0433 2: \u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 JavaScript<\/h4>\n<p>\u0412 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435\u00a0geth\u00a0\u0432\u0432\u0435\u0434\u0438\u0442\u0435\u00a0geth attach <a href=\"http:\/\/localhost:8178\" rel=\"noopener noreferrer nofollow\">http:\/\/localhost:8178<\/a>.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/530\/029\/cdf\/530029cdf902471542c0d4c8ebd9f417.png\" width=\"1490\" height=\"440\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/530\/029\/cdf\/530029cdf902471542c0d4c8ebd9f417.png\"\/><figcaption><\/figcaption><\/figure>\n<h4>\u0428\u0430\u0433 3: \u0420\u0430\u0437\u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0439\u0442\u0435 \u0431\u0443\u0444\u0435\u0440\u043d\u044b\u0439 \u0441\u0447\u0435\u0442<\/h4>\n<p>\u0412\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435\u0441\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439, \u0433\u0434\u0435 \u043f\u0435\u0440\u0432\u044b\u0439 \u0430\u0433\u0440\u0443\u043c\u0435\u043d\u0442 \u2013 \u0430\u0434\u0440\u0435\u0441 \u0431\u0443\u0444\u0435\u0440\u043d\u043e\u0433\u043e \u0441\u0447\u0435\u0442\u0430, \u0430 \u0432\u0442\u043e\u0440\u043e\u0439 \u2013 \u043f\u0430\u0440\u043e\u043b\u044c.<\/p>\n<pre><code class=\"javascript\">web3.personal.unlockAccount('0x411167FeFecAD12Da17F9063143706C39528aa28', 'carsdrivefasterbecausetheyhavebrakes', 600);<\/code><\/pre>\n<h4>\u0428\u0430\u0433 4: \u041e\u0442\u043f\u0440\u0430\u0432\u044c\u0442\u0435 \u044d\u0444\u0438\u0440<\/h4>\n<p>\u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043d\u0438\u0436\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u044c\u0442\u0435 \u043e\u0434\u0438\u043d \u042d\u0444\u0438\u0440 \u0438\u0437 \u0431\u0443\u0444\u0435\u0440\u043d\u043e\u0433\u043e \u0441\u0447\u0435\u0442\u0430 \u043d\u0430 \u0441\u0447\u0435\u0442 \u043a\u0440\u0438\u043f\u0442\u043e\u0431\u0438\u0440\u0436\u0438:<\/p>\n<pre><code class=\"javascript\">eth.sendTransaction({ from: '0x411167FeFecAD12Da17F9063143706C39528aa28', to: '0x190FD61ED8fE0067f0f09EA992C1BF96209bab66', value: 1000000000000000000000000});<\/code><\/pre>\n<h3>\u0428\u0430\u0433 6: \u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u041a\u0430\u043c\u0443\u043d\u0434\u0443<\/h3>\n<p>\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 <code>com.dpisarenko.minimalcryptoexchange.MinimalCryptoExchangeProcessApplication<\/code>.<\/p>\n<p>\u0412 \u0432\u0438\u0434\u0435\u043e\u00a0<a href=\"https:\/\/youtu.be\/bioe5Hg4eOE\" rel=\"noopener noreferrer nofollow\"><u>How to build and launch Camunda process engine<\/u><\/a>\u00a0\u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u043a\u0430\u043a \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043a\u043e\u0434 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0443\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0434\u0432\u0438\u0436\u043a\u0430.<\/p>\n<h3>\u0428\u0430\u0433 7: \u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043e\u0431\u043c\u0435\u043d\u0430 \u0411\u0438\u0442\u043a\u043e\u0439\u043d\u0430 \u043d\u0430 \u0422\u0438\u0442\u0435\u0440 \u0432 \u041a\u0430\u043c\u0443\u043d\u0434\u0435<\/h3>\n<p>\u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u0430\u0434\u0440\u0435\u0441\u00a0<a href=\"http:\/\/localhost:8080\" rel=\"noopener noreferrer nofollow\">http:\/\/localhost:8080<\/a>\u00a0\u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 (\u0438\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u043f\u0430\u0440\u043e\u043b\u044c \u2013\u00a0<code>demo<\/code>). \u041f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u0432 \u043f\u0435\u0440\u0435\u0447\u0435\u043d\u044c \u0437\u0430\u0434\u0430\u0447 (task list) \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u00a0<code>Exchange BTC for USDT Process<\/code>.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/ea2\/21f\/3d4\/ea221f3d414eab932c2b6c5fd3ead398.png\" width=\"1810\" height=\"648\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ea2\/21f\/3d4\/ea221f3d414eab932c2b6c5fd3ead398.png\"\/><figcaption><\/figcaption><\/figure>\n<h3>\u0428\u0430\u0433 8: \u0414\u043e\u0436\u0434\u0438\u0442\u0435\u0441\u044c, \u043f\u043e\u043a\u0430 \u0442\u043e\u043a\u0435\u043d \u0434\u043e\u0439\u0434\u0435\u0442 \u0434\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438<\/h3>\n<p>\u0416\u0434\u0438\u0442\u0435 \u0434\u043e \u0442\u0435\u0445 \u043f\u043e\u0440, \u043f\u043e\u043a\u0430 \u043d\u0435 \u0443\u0432\u0438\u0434\u0438\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043a\u0430\u0440\u0442\u0438\u043d\u0443 \u0432 \u043a\u043e\u043a\u043f\u0438\u0442\u0435 (\u0441\u0438\u043d\u0438\u0439 \u043a\u0440\u0443\u0436\u043e\u043a \u043d\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0435):<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/89e\/b0e\/de8\/89eb0ede893886f0f02e4aab7d59300c.png\" width=\"2188\" height=\"1118\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/89e\/b0e\/de8\/89eb0ede893886f0f02e4aab7d59300c.png\"\/><figcaption><\/figcaption><\/figure>\n<h3>\u0428\u0430\u0433 9: \u041e\u0442\u043f\u0440\u0430\u0432\u044c\u0442\u0435 \u0411\u0438\u0442\u043a\u043e\u0439\u043d \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443\u00a0\u0410\u0434\u0440\u0435\u0441 2<\/h3>\n<p>\u0412 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0443\u0437\u043b\u0430 \u0411\u0438\u0442\u043a\u043e\u0439\u043d\u0430, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0443<\/p>\n<pre><code class=\"bash\">bitcoin-cli -regtest sendtoaddress &lt;\u0410\u0434\u0440\u0435\u0441 2> 0.00001<\/code><\/pre>\n<p>\u0447\u0442\u043e\u0431\u044b \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c 0.00001 \u0435\u0434\u0438\u043d\u0438\u0446 \u0411\u0438\u0442\u043a\u043e\u0439\u043d\u0430 \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443\u00a0<code>\u0410\u0434\u0440\u0435\u0441 2<\/code>\u00a0(\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440,\u00a0<code>bitcoin-cli -regtest sendtoaddress 2N1z8DaS2SC4N65A1pda25t8TgE5ynYRpDz 0.00001<\/code>).<\/p>\n<p>\u042d\u0442\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0432\u044b\u0432\u0435\u0434\u0435\u0442 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438. \u0417\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u0435\u0433\u043e \u0438 \u043e\u0442\u043c\u0435\u0442\u044c\u0442\u0435 \u043a\u0430\u043a\u00a0<code>BTC Tx ID<\/code>.<\/p>\n<h3>\u0428\u0430\u0433 10: \u0412\u0432\u0435\u0434\u0438\u0442\u0435\u00a0BTC Tx ID\u00a0\u0432 \u0444\u043e\u0440\u043c\u0443\u043b\u044f\u0440 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438<\/h3>\n<p>\u0412 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435, \u0432\u0435\u0440\u043d\u0438\u0442\u0435\u0441\u044c \u0432 \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u041a\u0430\u043c\u0443\u043d\u0434\u044b \u0438 \u043e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u0444\u043e\u0440\u043c\u0443\u043b\u044f\u0440 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u0432 \u043f\u0435\u0440\u0435\u0447\u043d\u0435 \u0437\u0430\u0434\u0430\u0447 (task list):<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/48c\/be0\/eda\/48cbe0eda9f1d158658a2531b37144df.png\" width=\"1668\" height=\"886\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/48c\/be0\/eda\/48cbe0eda9f1d158658a2531b37144df.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u00a0<code>BTC Tx ID<\/code>\u00a0\u0432 \u043f\u043e\u043b\u0435 \u0441 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c\u00a0<code>ID of the \"customer to exchange\" BTC transaction<\/code>\u00a0\u0438 \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0443\u00a0<code>Complete<\/code>.<\/p>\n<h3>\u0428\u0430\u0433 11: \u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e USDT \u0432 \u0411\u043b\u043e\u043a\u0441\u043a\u0430\u0443\u0442\u0435<\/h3>\n<p>\u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439 (<a href=\"http:\/\/localhost:4000\/txs\" rel=\"noopener noreferrer nofollow\">http:\/\/localhost:4000\/txs<\/a>) \u0432 \u0411\u043b\u043e\u043a\u0441\u043a\u0430\u0443\u0442\u0435. \u0415\u0441\u043b\u0438 \u0432\u0441\u0435 \u043f\u0440\u043e\u0448\u043b\u043e \u0443\u0441\u043f\u0435\u0448\u043d\u043e, \u0432\u044b \u0443\u0432\u0438\u0434\u0438\u0442\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e \u0441 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u043e\u0439 USDT:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/e46\/50a\/778\/e4650a778d348d49a603941bb13316ff.png\" width=\"2310\" height=\"1200\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/e46\/50a\/778\/e4650a778d348d49a603941bb13316ff.png\"\/><figcaption><\/figcaption><\/figure>\n<h2>\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 3: \u041e\u0431\u043c\u0435\u043d \u042d\u0444\u0438\u0440\u0430 \u043d\u0430 \u0411\u0438\u0442\u043a\u043e\u0439\u043d<\/h2>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441, \u0442. \u0435. \u043a\u043e\u0433\u0434\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0422\u0438\u0442\u0435\u0440 \u043a\u0440\u0438\u043f\u0442\u043e\u0431\u0438\u0440\u0436\u0435 \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0432\u0437\u0430\u043c\u0435\u043d \u0411\u0438\u0442\u043a\u043e\u0439\u043d.<\/p>\n<h3>\u0428\u0430\u0433 1: \u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0432 \u041a\u0430\u043c\u0443\u043d\u0434\u0435<\/h3>\n<p>\u0412 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u043f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u0432 \u043f\u0435\u0440\u0435\u0447\u0435\u043d\u044c \u0437\u0430\u0434\u0430\u0447 (task list) \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u00a0Exchange USDT for BTC Process.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/31f\/58b\/ba3\/31f58bba3437178a16cddfe77b2ec5d6.png\" width=\"1900\" height=\"750\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/31f\/58b\/ba3\/31f58bba3437178a16cddfe77b2ec5d6.png\"\/><figcaption><\/figcaption><\/figure>\n<h3>\u0428\u0430\u0433 2: \u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0432 \u043a\u043e\u043a\u043f\u0438\u0442\u0435<\/h3>\n<p>\u0412\u044b \u0443\u0432\u0438\u0434\u0438\u0442\u0435, \u0447\u0442\u043e \u0442\u043e\u043a\u0435\u043d (\u0441\u0438\u043d\u0438\u0439 \u043a\u0440\u0443\u0433) \u043d\u0430 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u0438\u043a\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/23f\/4da\/b08\/23f4dab0830e9ec6510bc77fa2111f34.png\" width=\"2390\" height=\"962\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/23f\/4da\/b08\/23f4dab0830e9ec6510bc77fa2111f34.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u042d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0447\u0442\u043e \u043d\u0430\u043c \u043d\u0430\u0434\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443 \u0432 \u043f\u0435\u0440\u0435\u0447\u043d\u0435 \u0437\u0430\u0434\u0430\u0447 (task list). \u0415\u0441\u043b\u0438 \u0432\u044b \u0435\u0433\u043e \u043e\u0442\u043a\u0440\u043e\u0435\u0442\u0435, \u0442\u043e \u0443\u0432\u0438\u0434\u0438\u0442\u0435 \u0437\u0430\u0434\u0430\u0447\u0443\u00a0<code>Transfer USDT to the exchange outside of the exchange<\/code>.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/9cb\/9b6\/274\/9cb9b6274b3bca13a30af9ba6b84d161.png\" width=\"2456\" height=\"1118\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/9cb\/9b6\/274\/9cb9b6274b3bca13a30af9ba6b84d161.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u042d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e \u043d\u0430\u043c \u043d\u0430\u0434\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0422\u0438\u0442\u0435\u0440 \u043d\u0430 \u0441\u0447\u0435\u0442 \u043a\u0440\u0438\u043f\u0442\u043e\u0431\u0438\u0440\u0436\u0438 \u0438 \u0432\u0432\u0435\u0441\u0442\u0438 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u0432 \u0444\u043e\u0440\u043c\u0443\u043b\u044f\u0440.<\/p>\n<h3>\u0428\u0430\u0433 3: \u041e\u0442\u043f\u0440\u0430\u0432\u044c\u0442\u0435 \u0422\u0438\u0442\u0435\u0440 \u043d\u0430 \u0441\u0447\u0435\u0442 \u0431\u0438\u0440\u0436\u0438<\/h3>\n<p>\u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u0444\u0430\u0439\u043b\u00a0<a href=\"https:\/\/gitflic.ru\/project\/dpisarenko\/minimal-crypto-exchange\/blob?file=erc20%2Fnpm-prj%2Fscripts%2Fsend-usdt-to-exchange.js\" rel=\"noopener noreferrer nofollow\"><u>erc20\/npm-prj\/scripts\/send-usdt-to-exchange.js<\/u><\/a>\u00a0\u0432 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u043c \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0435. \u0412\u044b \u0443\u0432\u0438\u0434\u0438\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043a\u043e\u0434:<\/p>\n<pre><code class=\"javascript\">async function main() { const USDT = await ethers.getContractFactory(\"USDT\"); const usdtAddress = \"0xa682a5972D1A8175E2431B26586F486bBa161A11\"; const usdt = await USDT.attach(usdtAddress); const amount = ethers.BigNumber.from('350000000000000000000'); const exchange = \"0x190FD61ED8fE0067f0f09EA992C1BF96209bab66\"; const usdtSender = \"0xDd1e8cC92AF9748193459ADDF910E1b96E88154D\";<\/code><\/pre>\n<p>\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u0435 \u0441\u0442\u0440\u043e\u043a\u0443<\/p>\n<pre><code class=\"javascript\">const usdtAddress = \"0xa682a5972D1A8175E2431B26586F486bBa161A11\";<\/code><\/pre>\n<p>\u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b\u00a0<code>usdtAddress<\/code>\u00a0\u0441\u0442\u0430\u043b \u0440\u0430\u0432\u0435\u043d \u0430\u0434\u0440\u0435\u0441\u0443 \u0438\u0437 \u0448\u0430\u0433\u043e\u0432\u00a0<em>\u0428\u0430\u0433 6: \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442 USDT<\/em>\u00a0\u0438\u00a0<em>\u0428\u0430\u0433 7: \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0430\u0434\u0440\u0435\u0441 \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u0430 USDT \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u041a\u0430\u043c\u0443\u043d\u0434\u044b<\/em>\u00a0\u0438\u0437\u00a0<em>\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f 1<\/em>.<\/p>\n<p>\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u0435 \u0444\u0430\u0439\u043b \u0438 \u043f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u00a0<code>erc20\/npm-prj\/send-usdt-to-exchange.sh<\/code>. \u041f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u0440\u044f\u0434 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439. \u041f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u043a \u0442\u043e\u0439 \u0438\u0445 \u0447\u0430\u0441\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441\u00a0<code>Sending USDT...<\/code>. \u041e\u043d\u0430 \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0442\u0430\u043a:<\/p>\n<pre><code>Sending USDT... Done, result= { hash: '0x906b3cd21c808164ec93460efc5ed8033ee85095b6195662980c4ba5af62e263',<\/code><\/pre>\n<p>\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432 \u043f\u043e\u043b\u0435\u00a0<code>hash<\/code>\u00a0\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u043e\u043c \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438, \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043c\u044b \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u043b\u0438 \u0422\u0438\u0442\u0435\u0440 \u043a\u0440\u0438\u043f\u0442\u043e\u0431\u0438\u0440\u0436\u0435. \u0417\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u0435\u0433\u043e.<\/p>\n<h3>\u0428\u0430\u0433 4: \u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u0432 \u0444\u043e\u0440\u043c\u0443\u043b\u044f\u0440 \u0432 \u043f\u0435\u0440\u0435\u0447\u043d\u0435 \u0437\u0430\u0434\u0430\u0447 \u041a\u0430\u043c\u0443\u043d\u0434\u044b<\/h3>\n<p>\u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u043f\u0435\u0440\u0435\u0447\u0435\u043d\u044c \u0437\u0430\u0434\u0430\u0447 \u041a\u0430\u043c\u0443\u043d\u0434\u044b \u0438 \u0449\u0435\u043b\u043a\u043d\u0438\u0442\u0435 \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435\u00a0Claim, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0438\u0441\u0432\u043e\u0438\u0442\u044c \u044d\u0442\u0443 \u0437\u0430\u0434\u0430\u0447\u0443 \u0441\u0435\u0431\u0435. \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0432\u044b \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u0432\u0435\u0441\u0442\u0438 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u0432 \u0444\u043e\u0440\u043c\u0443\u043b\u044f\u0440.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/08b\/f20\/281\/08bf202813c9b7e577b77319677e4165.png\" width=\"2010\" height=\"1130\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/08b\/f20\/281\/08bf202813c9b7e577b77319677e4165.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u0438\u0437 \u0448\u0430\u0433\u0430 3 \u0432 \u043f\u043e\u043b\u0435 \u0441 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c\u00a0<code>ID of the incoming transaction (USDT sender to the exchange)<\/code>.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/049\/633\/8f9\/0496338f9171f30e0828db761c41a083.png\" width=\"2002\" height=\"980\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/049\/633\/8f9\/0496338f9171f30e0828db761c41a083.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0443\u00a0<code>Complete<\/code>.<\/p>\n<h3>\u0428\u0430\u0433 5<\/h3>\n<p>\u0412\u0435\u0440\u043d\u0438\u0442\u0435\u0441\u044c \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0432 \u043a\u043e\u043a\u043f\u0438\u0442. \u0415\u0441\u043b\u0438 \u0432\u0441\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e \u043a\u0430\u043a \u043e\u0436\u0438\u0434\u0430\u043b\u043e\u0441\u044c, \u0432\u044b \u0443\u0432\u0438\u0434\u0438\u0442\u0435 \u0442\u043e\u043a\u0435\u043d \u0432 \u043a\u043e\u043d\u0446\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/b70\/2c2\/441\/b702c2441798b62030c678a804f6de71.png\" width=\"1786\" height=\"1050\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b70\/2c2\/441\/b702c2441798b62030c678a804f6de71.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0412 \u043d\u0438\u0436\u043d\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430. \u041e\u0434\u043d\u0430 \u0438\u0437 \u043d\u0438\u0445 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f\u00a0<code>TARGET_BTC_ADDRESS<\/code>\u00a0\u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0430\u0434\u0440\u0435\u0441, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0431\u0438\u0440\u0436\u0430 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0411\u0438\u0442\u043a\u043e\u0439\u043d.<\/p>\n<p>\u041f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u043c, \u0447\u0442\u043e \u043e\u043d \u0440\u0430\u0432\u0435\u043d\u00a0<code>2NDjv4EUtXxKpfHCMuTmNg4miU9QDqy8vKs<\/code>.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u0432\u044b \u043e\u0442\u043a\u0440\u043e\u0435\u0442\u0435 \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u00a0<em>Bitcoin Explorer<\/em>\u00a0\u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 <a href=\"http:\/\/localhost:3002\/address\/2NDjv4EUtXxKpfHCMuTmNg4miU9QDqy8vKs\" rel=\"noopener noreferrer nofollow\">http:\/\/localhost:3002\/address\/2NDjv4EUtXxKpfHCMuTmNg4miU9QDqy8vKs<\/a>, \u0442\u043e \u0443\u0432\u0438\u0434\u0438\u0442\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0443\u044e \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/958\/07b\/bc6\/95807bbc6a55baf38d6ad22a32310075.png\" width=\"2240\" height=\"1248\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/958\/07b\/bc6\/95807bbc6a55baf38d6ad22a32310075.png\"\/><figcaption><\/figcaption><\/figure>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"v-portal\" style=\"display:none;\"><\/div>\n<\/div>\n<p> <!----> <!----><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:\/\/habr.com\/ru\/post\/655843\/\"> https:\/\/habr.com\/ru\/post\/655843\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<h2>\u0417\u0430\u0447\u0435\u043c \u044d\u0442\u043e \u043d\u0443\u0436\u043d\u043e?<\/h2>\n<p>\u0414\u043e 2021-\u0433\u043e \u0433\u043e\u0434\u0430 \u044f \u043d\u0435 \u0432\u0438\u0434\u0435\u043b \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442. \u041f\u043e\u0442\u043e\u043c \u043d\u0430\u0442\u043a\u043d\u0443\u043b\u0441\u044f \u043d\u0430 \u043a\u043d\u0438\u0433\u0438 \u0410\u043d\u0434\u0440\u0435\u0430\u0441\u0430 \u0410\u043d\u0442\u043e\u043d\u043e\u043f\u0443\u043b\u043e\u0441\u0430. \u041c\u0435\u043d\u044f \u0437\u0430\u0446\u0435\u043f\u0438\u043b\u043e \u0435\u0433\u043e \u0443\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435, \u0447\u0442\u043e \u043a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442\u044b \u043f\u043e\u0434\u043e\u0431\u043d\u044b \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0443 \u0434\u0435\u043d\u0435\u0433. \u0415\u0441\u043b\u0438 \u044d\u0442\u043e \u0442\u0430\u043a, \u0442\u043e \u043a\u0440\u0438\u043f\u0442\u043e\u0431\u0438\u0440\u0436\u0438 \u0434\u043b\u044f \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430 \u0434\u0435\u043d\u0435\u0433 \u043f\u043e\u0434\u043e\u0431\u043d\u044b \u0412\u043e\u0440\u0434\u041f\u0440\u0435\u0441\u0441\u0443 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438.<\/p>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0432 \u0442\u043e \u0436\u0435 \u0432\u0440\u0435\u043c\u044f \u044f \u0443\u0437\u043d\u0430\u043b, \u0447\u0442\u043e \u043d\u0430\u00a0<a href=\"https:\/\/www.statista.com\/statistics\/863917\/number-crypto-coins-tokens\/\" rel=\"noopener noreferrer nofollow\"><u>10.397<\/u><\/a>\u00a0\u043a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043e\u043a\u043e\u043b\u043e\u00a0<a href=\"https:\/\/www.investopedia.com\/tech\/190-cryptocurrency-exchanges-so-how-choose\/#citation-1\" rel=\"noopener noreferrer nofollow\"><u>380<\/u><\/a>\u00a0\u043a\u0440\u0438\u043f\u0442\u043e\u0431\u0438\u0440\u0436. \u0415\u0441\u043b\u0438 \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c \u0444\u0438\u043b\u043e\u0441\u043e\u0444\u0438\u0438 \u0411\u0438\u0442\u043a\u043e\u0439\u043d\u0430, \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442.<\/p>\n<p>\u041c\u0430\u043b\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u0440\u0438\u043f\u0442\u043e\u0431\u0438\u0440\u0436 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0437\u043b\u043e\u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u0438\u0433\u0440\u043e\u043a\u0430\u043c \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u043b\u044e\u0434\u0435\u0439 \u043a \u043a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442\u0430\u043c \u043f\u043e\u0434 \u043f\u0440\u0435\u0434\u043b\u043e\u0433\u043e\u043c \u0431\u043e\u0440\u044c\u0431\u044b \u0441 \u0442\u0435\u0440\u0440\u043e\u0440\u0438\u0437\u043c\u043e\u043c, \u043e\u0442\u043c\u044b\u0432\u0430\u043d\u0438\u0435\u043c \u0434\u0435\u043d\u0435\u0433 \u0438 \u0441\u0430\u043d\u043a\u0446\u0438\u0439. \u0415\u0441\u043b\u0438 \u0431\u044b \u0431\u044b\u043b \u043c\u0438\u043b\u043b\u0438\u043e\u043d \u043a\u0440\u0438\u043f\u0442\u043e\u0431\u0438\u0440\u0436, \u0438\u0445 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u0437\u0430\u0440\u0435\u0433\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u043e \u0441\u043c\u0435\u0440\u0442\u0438.<\/p>\n<p>\u041f\u043e\u0447\u0435\u043c\u0443 \u043a\u0440\u0438\u043f\u0442\u043e\u0431\u0438\u0440\u0436 \u0442\u0430\u043a \u043c\u0430\u043b\u043e?<\/p>\n<p>\u041f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043a\u0440\u0438\u043f\u0442\u043e\u0431\u0438\u0440\u0436\u0438, \u043d\u0443\u0436\u043d\u043e \u043e\u0442 100.000 \u0434\u043e 500.000 \u0434\u043e\u043b\u043b\u0430\u0440\u043e\u0432 (<a href=\"https:\/\/medium.datadriveninvestor.com\/how-much-does-it-cost-to-create-a-crypto-exchange-like-binance-localbitcoins-or-coinbase-69dacf7bc311\" rel=\"noopener noreferrer nofollow\"><u>1<\/u><\/a>,\u00a0<a href=\"https:\/\/www.quora.com\/How-much-does-it-cost-to-start-a-cryptocurrency-exchange-in-the-United-States\" rel=\"noopener noreferrer nofollow\"><u>2<\/u><\/a>).<\/p>\n<p>\u041c\u043e\u0436\u043d\u043e \u043b\u0438 \u0441\u0440\u0435\u0437\u0430\u0442\u044c \u044d\u0442\u0438 \u0437\u0430\u0442\u0440\u0430\u0442\u044b?<\/p>\n<p>\u0417\u0434\u0435\u0441\u044c \u0435\u0441\u0442\u044c \u0434\u0432\u0430 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430.<\/p>\n<p>\u041f\u0435\u0440\u0432\u044b\u0439: \u041a\u0443\u043f\u0438\u0442\u044c \u0433\u043e\u0442\u043e\u0432\u0443\u044e \u0431\u0438\u0440\u0436\u0443. \u0417\u043d\u0430\u043a\u043e\u043c\u044b\u0439 \u0433\u043e\u0432\u043e\u0440\u0438\u043b, \u0447\u0442\u043e \u0432 \u041a\u0438\u0442\u0430\u0435 \u043a\u043e\u0434 \u0442\u0430\u043a\u0438\u0445 \u0431\u0438\u0440\u0436 \u043f\u0440\u043e\u0434\u0430\u0435\u0442\u0441\u044f \u0437\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0442\u044b\u0441\u044f\u0447 \u0434\u043e\u043b\u043b\u0430\u0440\u043e\u0432. \u041d\u043e \u043d\u0435\u0442 \u043d\u0438\u043a\u0430\u043a\u043e\u0439 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0438, \u0447\u0442\u043e \u044d\u0442\u0430 \u043a\u0440\u0438\u043f\u0442\u043e\u0431\u0438\u0440\u0436\u0430 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043a\u0430\u043a \u043d\u0430\u0434\u043e.<\/p>\n<p>\u0412\u0442\u043e\u0440\u043e\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u2013 \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0435 \u041f\u041e.<\/p>\n<h2>\u041a\u0440\u0438\u043f\u0442\u043e\u0431\u0438\u0440\u0436\u0430 \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u043a\u043e\u0434\u043e\u043c<\/h2>\n<p>\u0415\u0441\u0442\u044c \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u043e\u0434\u043d\u0430\u00a0<a href=\"https:\/\/github.com\/jammy928\/CoinExchange_CryptoExchange_Java\" rel=\"noopener noreferrer nofollow\"><u>\u043a\u0440\u0438\u043f\u0442\u043e\u0431\u0438\u0440\u0436\u0430<\/u><\/a>\u00a0\u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u043a\u043e\u0434\u043e\u043c.<\/p>\n<p>\u0417\u0434\u0435\u0441\u044c \u043e\u043f\u044f\u0442\u044c \u0434\u0432\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b.<\/p>\n<p>\u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u044d\u0442\u043e \u043a\u0438\u0442\u0430\u0439\u0441\u043a\u0438\u0439 \u043f\u0440\u043e\u0434\u0443\u043a\u0442 \u0438 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043d\u0430 \u043a\u0438\u0442\u0430\u0439\u0441\u043a\u043e\u043c. \u042d\u0442\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0434\u043b\u044f \u0432\u0441\u0435\u0445, \u043a\u0442\u043e \u043d\u0435 \u0432\u043b\u0430\u0434\u0435\u0435\u0442 \u043a\u0438\u0442\u0430\u0439\u0441\u043a\u0438\u043c.<\/p>\n<p>\u0412\u043e-\u0432\u0442\u043e\u0440\u044b\u0445, \u044d\u0442\u0430 \u043a\u0440\u0438\u043f\u0442\u043e\u0431\u0438\u0440\u0436\u0430 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0441\u043b\u043e\u0436\u043d\u0430. \u0422\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043a \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u041f\u041e \u0442\u0430\u043a\u043e\u0432: \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0434\u0435\u043b\u0430\u0435\u043c \u0447\u0442\u043e-\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u043e\u0435, \u0430 \u043f\u043e\u0442\u043e\u043c, \u043f\u043e \u043c\u0435\u0440\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043d\u0443\u0436\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<\/p>\n<p>\u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u0436\u0435 \u0441 \u044d\u0442\u043e\u0439 \u0431\u0438\u0440\u0436\u0435\u0439 \u0435\u0441\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0443\u0436\u043d\u044b \u0434\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u0432\u0441\u0435\u043c. \u041d\u0438\u0436\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u0430 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e <a href=\"https:\/\/github.com\/jammy928\/CoinExchange_CryptoExchange_Java\" rel=\"noopener noreferrer nofollow\">\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438<\/a>.<\/p>\n<figure class=\"full-width\"><figcaption>\u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043a\u0440\u0438\u043f\u0442\u043e\u0431\u0438\u0440\u0436\u0438 \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u043a\u043e\u0434\u043e\u043c. \u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a: https:\/\/github.com\/jammy928\/CoinExchange_CryptoExchange_Java<\/figcaption><\/figure>\n<p>\u042d\u0442\u0430 \u043a\u0440\u0438\u043f\u0442\u043e\u0431\u0438\u0440\u0436\u0430 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0410\u043d\u0434\u0440\u043e\u0438\u0434\u0430 \u0438 \u042d\u043f\u043f\u043b\u0430, \u0438, \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043f\u043e\u0434 \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439.<\/p>\n<p>\u0417\u0434\u043e\u0440\u043e\u0432\u043e, \u043d\u043e \u043d\u0435 \u043d\u0443\u0436\u043d\u043e, \u0435\u0441\u043b\u0438 \u044f \u0445\u043e\u0447\u0443 \u043e\u0431\u043c\u0435\u043d\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043a\u0440\u0438\u043f\u0442\u043e\u0439 \u0441 \u043c\u043e\u0438\u043c\u0438 10 \u0434\u0440\u0443\u0437\u044c\u044f\u043c\u0438 \u0447\u0435\u0440\u0435\u0437 \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432 \u0441\u0442\u0438\u043b\u0435 &#171;\u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043d\u044b\u0439 \u0434\u0438\u0437\u0430\u0439\u043d&#187;.<\/p>\n<p>\u042f \u0437\u0430\u0434\u0430\u043b\u0441\u044f \u0435\u0449\u0435 \u043e\u0434\u043d\u0438\u043c \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u043c.<\/p>\n<p>\u041d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0442\u0440\u0443\u0434\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u0443\u044e \u043a\u0440\u0438\u043f\u0442\u043e\u0431\u0438\u0440\u0436\u0443 \u0441 \u043d\u0443\u043b\u044f?<\/p>\n<p>\u041e\u0442\u0432\u0435\u0442\u0438\u0442\u044c \u043d\u0430 \u044d\u0442\u043e\u0442 \u0432\u043e\u043f\u0440\u043e\u0441 \u043c\u043e\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u043f\u044b\u0442\u043d\u044b\u043c \u043f\u0443\u0442\u0435\u043c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0440\u0435\u0448\u0438\u043b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u0435\u0439\u0448\u0443\u044e \u043a\u0440\u0438\u043f\u0442\u043e\u0431\u0438\u0440\u0436\u0443, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043d\u044f\u0442\u044c, \u043a\u0430\u043a \u043e\u043d\u0430 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u0430.<\/p>\n<h2>\u041a\u0430\u043a\u0438\u0435 \u0432\u0430\u043b\u044e\u0442\u044b \u043c\u0435\u043d\u044f\u0442\u044c?<\/h2>\n<p>\u0415\u0441\u043b\u0438 \u044d\u0442\u043e \u0431\u0438\u0440\u0436\u0430 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u0430, \u0442\u043e \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0434\u0432\u0435 \u043a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442\u044b. <\/p>\n<p>\u042f \u0440\u0435\u0448\u0438\u043b \u0432\u0437\u044f\u0442\u044c \u0411\u0438\u0442\u043a\u043e\u0439\u043d \u0438 \u0422\u0438\u0442\u0435\u0440 (Tether, USDT). <\/p>\n<p>\u0422\u0438\u0442\u0435\u0440 \u2013 \u044d\u0442\u043e \u043a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442\u0430, \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0443\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u044e\u0442, \u0447\u0442\u043e \u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u0442\u043e\u043a\u0435\u043d \u0422\u0438\u0442\u0435\u0440\u0430 \u0435\u0441\u0442\u044c \u0434\u043e\u043b\u043b\u0430\u0440 \u0432 \u0431\u0430\u043d\u043a\u0435 (<a href=\"https:\/\/hindenburgresearch.com\/tether\/\" rel=\"noopener noreferrer nofollow\"><u>\u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043b\u044e\u0434\u0438<\/u><\/a>\u00a0\u0441 \u044d\u0442\u0438\u043c \u043d\u0435\u0441\u043e\u0433\u043b\u0430\u0441\u043d\u044b). \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0435\u0441\u043b\u0438 \u0443 \u0412\u0430\u0441 \u0435\u0441\u0442\u044c 1 \u0422\u0438\u0442\u0435\u0440, \u0442\u043e \u044d\u0442\u043e \u043f\u043e \u0441\u0443\u0442\u0438 \u043e\u0434\u0438\u043d \u0434\u043e\u043b\u043b\u0430\u0440. \u041a\u0443\u0440\u0441 \u0422\u0438\u0442\u0435\u0440\u0430 \u0441\u043a\u0430\u0447\u0435\u0442 \u043c\u0435\u043d\u044c\u0448\u0435, \u0447\u0435\u043c \u043a\u0443\u0440\u0441 \u0411\u0438\u0442\u043a\u043e\u0439\u043d\u0430.<\/p>\n<details class=\"spoiler\">\n<summary>\u041e\u0442\u043a\u0430\u0437 \u043e\u0442 \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u0438<\/summary>\n<div class=\"spoiler__content\">\n<p>\u0422\u043e\u0442 \u0444\u0430\u043a\u0442, \u0447\u0442\u043e \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0411\u0438\u0442\u043a\u043e\u0439\u043d \u0438 \u0422\u0438\u0442\u0435\u0440 \u043d\u0435 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u044f \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u0442\u043e \u0438\u043b\u0438 \u0434\u0440\u0443\u0433\u043e\u0435 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0432\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u0423 \u043c\u0435\u043d\u044f \u043d\u0435\u0442 \u043d\u0438 \u0411\u0438\u0442\u043a\u043e\u0439\u043d\u0430, \u043d\u0438 \u0422\u0438\u0442\u0435\u0440\u0430, \u0435\u0441\u0442\u044c \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u041a\u0430\u0440\u0434\u0430\u043d\u043e.<\/p>\n<p>\u041b\u0443\u0447\u0448\u0438\u043c \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u043c \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0434\u0435\u043d\u044c\u0433\u0438 \u044f \u0441\u0447\u0438\u0442\u0430\u044e\u0442 \u0437\u043e\u043b\u043e\u0442\u044b\u0435 \u0438 \u0441\u0435\u0440\u0435\u0431\u0440\u044f\u043d\u044b\u0435 \u043c\u043e\u043d\u0435\u0442\u044b (\u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u0432 \u0441\u0435\u0439\u0444, \u0430 \u043d\u0435 ETF).<\/p>\n<\/div>\n<\/details>\n<h2>\u041a\u0430\u043a \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430<\/h2>\n<p>\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043f\u0440\u043e\u0441\u0442\u0435\u0439\u0448\u0435\u0439 \u043a\u0440\u0438\u043f\u0442\u043e\u0431\u0438\u0440\u0436\u0438 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0418\u0441\u043f\u044b\u0442\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0441\u0435\u0442\u0438 (testnets) \u0434\u043b\u044f \u0411\u0438\u0442\u043a\u043e\u0439\u043d\u0430 \u0438 \u042d\u0444\u0438\u0440\u0430 \u043d\u0443\u0436\u043d\u044b, \u0447\u0442\u043e\u0431\u044b \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043e\u0442\u043b\u0430\u0436\u0438\u0432\u0430\u0442\u044c \u043a\u043e\u0434, \u043d\u0435 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u044f \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0435 \u0434\u0435\u043d\u044c\u0433\u0438. \u0422\u0438\u0442\u0435\u0440 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u043c\u0430\u0440\u0442\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u043e\u043c \u043d\u0430 \u0431\u0430\u0437\u0435 \u042d\u0444\u0438\u0440\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0422\u0438\u0442\u0435\u0440\u043e\u043c \u043d\u0443\u0436\u043d\u0430 \u0438\u0441\u043f\u044b\u0442\u0430\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0441\u0435\u0442\u044c \u0434\u043b\u044f \u042d\u0444\u0438\u0440\u0430.<\/p>\n<p>\u0421\u0435\u0440\u0434\u0446\u0435\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f BPM-\u0434\u0432\u0438\u0436\u043e\u043a \u043d\u0430 \u0431\u0430\u0437\u0435 \u041a\u0430\u043c\u0443\u043d\u0434\u044b. \u042d\u0442\u043e\u0442 BPM-\u0434\u0432\u0438\u0436\u043e\u043a \u0445\u0440\u0430\u043d\u0438\u0442 \u0432\u0441\u0435 \u0441\u0432\u043e\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 in-memory \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 <a href=\"https:\/\/www.h2database.com\/html\/main.html\" rel=\"noopener noreferrer nofollow\">H2<\/a>.<\/p>\n<h2>\u0417\u0430\u0447\u0435\u043c \u043d\u0443\u0436\u043d\u0430 \u041a\u0430\u043c\u0443\u043d\u0434\u0430<\/h2>\n<p>BPM-\u0434\u0432\u0438\u0436\u043a\u0438 (<a href=\"https:\/\/docs.camunda.org\/get-started\/spring-boot\/\" rel=\"noopener noreferrer nofollow\">\u041a\u0430\u043c\u0443\u043d\u0434\u0430<\/a>, <a href=\"https:\/\/www.flowable.com\/open-source\" rel=\"noopener noreferrer nofollow\">Flowable<\/a>, <a href=\"https:\/\/www.activiti.org\" rel=\"noopener noreferrer nofollow\">Activiti<\/a>, <a href=\"https:\/\/www.jbpm.org\" rel=\"noopener noreferrer nofollow\">jBPM<\/a>, TIBCO iProcess, Pega \u0438 \u0434\u0440\u0443\u0433\u0438\u0435) \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f, \u043a\u043e\u0433\u0434\u0430 \u043d\u0443\u0436\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0441 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u0440\u0430\u0437\u043d\u043e\u0440\u043e\u0434\u043d\u044b\u043c\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c\u0438. \u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u041a\u0430\u043c\u0443\u043d\u0434\u0430 \u043e\u0440\u043a\u0435\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0441 \u0438\u0441\u043f\u044b\u0442\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u0441\u0435\u0442\u044f\u043c\u0438 \u0411\u0438\u0442\u043a\u043e\u0439\u043d\u0430 \u0438 \u042d\u0444\u0438\u0440\u0430.<\/p>\n<p>\u0414\u0440\u0443\u0433\u0430\u044f \u043f\u0440\u0438\u0447\u0438\u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u041a\u0430\u043c\u0443\u043d\u0434\u0443 \u2013 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0443\u043b\u0443\u0447\u0448\u0430\u0435\u0442 \u0432\u0437\u0430\u0438\u043c\u043e\u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u0432 \u0438 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u043e\u0432 \u043f\u0440\u0435\u0434\u043c\u0435\u0442\u043d\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 (\u0442\u0430\u043a\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u043f\u043e\u043d\u044f\u0442\u043d\u0430 \u0438 \u0442\u0435\u043c, \u0438 \u0434\u0440\u0443\u0433\u0438\u043c).<\/p>\n<p>\u0423 \u041a\u0430\u043c\u0443\u043d\u0434\u044b \u0435\u0441\u0442\u044c \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u0430\u044f (Community Edition) \u0438 \u043f\u043b\u0430\u0442\u043d\u0430\u044f (Enterprise Edition) \u0432\u0435\u0440\u0441\u0438\u0438. \u041d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u044f \u0437\u043d\u0430\u044e, \u044d\u0442\u043e \u0442\u0430\u043a \u043e\u0441\u0442\u0430\u043d\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0432\u0435\u0440\u0441\u0438\u0439 7.x. \u0412\u043e\u0441\u044c\u043c\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u041a\u0430\u043c\u0443\u043d\u0434\u044b \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0437\u0430\u043a\u0440\u044b\u0442\u043e\u0439 \u0438 \u0432 \u0420\u043e\u0441\u0441\u0438\u0438 \u043f\u0440\u043e\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0435 \u0431\u0443\u0434\u0435\u0442, \u0442. \u043a. \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u00a0<a href=\"https:\/\/camunda.com\/blog\/2022\/03\/responding-to-the-russian-invasion-of-ukraine\/\" rel=\"noopener noreferrer nofollow\"><u>\u043f\u0440\u0438\u0441\u043e\u0435\u0434\u0438\u043d\u0438\u043b\u0441\u044f<\/u><\/a>\u00a0\u043a \u0441\u0430\u043d\u043a\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0432\u0430\u043a\u0445\u0430\u043d\u0430\u043b\u0438\u0438. \u0421\u0430\u043c\u0430\u044f \u0434\u0435\u0448\u0435\u0432\u0430\u044f \u043f\u043b\u0430\u0442\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0441\u0435\u0439\u0447\u0430\u0441 \u0441\u0442\u043e\u0438\u0442 \u043e\u043a\u043e\u043b\u043e 50.000 \u0435\u0432\u0440\u043e \u0432 \u0433\u043e\u0434.<\/p>\n<p>\u0412 \u0432\u0435\u0440\u0441\u0438\u044f\u0445 7.\u0445 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e\u0439 Community Edition \u043e\u0442 \u043f\u043b\u0430\u0442\u043d\u043e\u0439 Enterprise Edition \u0435\u0441\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445, \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0438 Optimize \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u0441\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044f. \u0412\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u0432 \u043e\u0431\u043e\u0438\u0445 \u0432\u0435\u0440\u0441\u0438\u044f\u0445 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e (\u0432 \u0442. \u0447. \u0434\u0432\u0438\u0436\u043e\u043a).<\/p>\n<p>\u0420\u044f\u0434 \u0440\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0438\u0445 \u0438 \u043d\u0435\u043c\u0435\u0446\u043a\u0438\u0445 \u0431\u0430\u043d\u043a\u043e\u0432 \u0432 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e. \u0422\u0430\u043a\u0436\u0435 \u0435\u0441\u0442\u044c \u043e\u0442\u0435\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0438 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0439 \u0430\u043d\u0430\u043b\u043e\u0433 Enterprise Edition:\u00a0<a href=\"https:\/\/github.com\/KotskinKotskin\/camunda-excamad\" rel=\"noopener noreferrer nofollow\"><u>Excamad<\/u><\/a>.<\/p>\n<p>\u041e\u0434\u043d\u043e \u0438\u0437 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432 \u041a\u0430\u043c\u0443\u043d\u0434\u044b \u2013 \u044d\u0442\u043e \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0435 \u0440\u0443\u0441\u0441\u043a\u043e\u044f\u0437\u044b\u0447\u043d\u043e\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u0432\u00a0<a href=\"https:\/\/t.me\/camunda_bpm\" rel=\"noopener noreferrer nofollow\"><u>\u0422\u0435\u043b\u0435\u0433\u0440\u0430\u043c\u0435<\/u><\/a>.<\/p>\n<h2>\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u043d\u0430 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e\u043c \u044f\u0437\u044b\u043a\u0435 BPMN<\/h2>\n<p>\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <a href=\"https:\/\/gitflic.ru\/project\/dpisarenko\/minimal-crypto-exchange\/blob?file=process-engine%2Fsrc%2Fmain%2Fresources%2Fexchange_btc_for_usdt_process.bpmn\" rel=\"noopener noreferrer nofollow\">\u043f\u0440\u043e\u0446\u0435\u0441\u0441<\/a> \u043e\u0431\u043c\u0435\u043d\u0430 \u0411\u0438\u0442\u043a\u043e\u0439\u043d\u0430 \u043d\u0430 \u0422\u0438\u0442\u0435\u0440 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<figure class=\"full-width\"><figcaption>BPMN-\u0441\u0445\u0435\u043c\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u043e\u0431\u043c\u0435\u043d\u0430 \u0411\u0438\u0442\u043a\u043e\u0439\u043d\u0430 \u043d\u0430 \u0422\u0438\u0442\u0435\u0440<\/figcaption><\/figure>\n<p>\u041a\u0432\u0430\u0434\u0440\u0430\u0442\u0438\u043a\u0438 \u0441 \u0448\u0435\u0441\u0442\u0435\u0440\u0435\u043d\u043a\u0430\u043c\u0438 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0430\u044e\u0442 \u043a\u0443\u0441\u043a\u0438 \u043a\u043e\u0434\u0430 \u043d\u0430 \u0414\u0436\u0430\u0432\u0435 \u0438 \u041a\u043b\u043e\u0436\u0443\u0440\u0435 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440,\u00a0<code>Get USDT balance of the exchange<\/code>). \u041e\u043d\u0438 \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f\u00a0<em>\u0441\u043b\u0443\u0436\u0435\u0431\u043d\u044b\u043c\u0438 \u0437\u0430\u0434\u0430\u0447\u0430\u043c\u0438<\/em>\u00a0(service tasks).<\/p>\n<p>\u041a\u0432\u0430\u0434\u0440\u0430\u0442\u0438\u043a\u0438 \u0441 \u0447\u0435\u043b\u043e\u0432\u0435\u0447\u043a\u043e\u043c \u0432 \u0432\u0435\u0440\u0445\u043d\u0435\u043c \u043b\u0435\u0432\u043e\u043c \u0443\u0433\u043b\u0443 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0442. \u043d. \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u043c \u0437\u0430\u0434\u0430\u0447\u0430\u043c\u0438 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440,\u00a0<code>Ask the user to transfer the BTC and enter the target USDT address<\/code>). \u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0443 \u043d\u0430\u0434\u043e \u0437\u0430\u0439\u0442\u0438 \u0432 <a href=\"https:\/\/camunda.com\/products\/camunda-platform\/tasklist\/\" rel=\"noopener noreferrer nofollow\">\u043f\u0435\u0440\u0435\u0447\u0435\u043d\u044c \u0437\u0430\u0434\u0430\u0447<\/a> (task list) \u0432 \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u041a\u0430\u043c\u0443\u043d\u0434\u044b \u0438 \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c \u0437\u0430\u0434\u0430\u0447\u0443, \u043a\u0430\u043a \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u0443\u044e.<\/p>\n<p>\u041a\u0432\u0430\u0434\u0440\u0430\u0442\u0438\u043a\u0438 \u0441 \u0436\u0438\u0440\u043d\u043e\u0439 \u043e\u043a\u0430\u043d\u0442\u043e\u0432\u043a\u043e\u0439 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043f\u043e\u0434\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c\u0438, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0435\u0441\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440,\u00a0<code>Wait for the BTC to arrive<\/code>).<\/p>\n<p>\u041e\u0431\u0440\u0430\u0449\u0430\u044e \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438\u00a0<code>Wait<\/code>\u00a0\u043d\u0443\u0436\u043d\u044b \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0432 \u0446\u0435\u043b\u044f\u0445 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u0438 \u043e\u0442\u043b\u0430\u0434\u043a\u0438. \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0432 \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 (Camunda Community Edition) \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0432 \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u044b\u0435 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u044b \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432. \u0415\u0441\u043b\u0438 \u0432 \u043a\u043e\u043d\u0446\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0442\u0430\u043a\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443, \u0442\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0438 \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0443\u0432\u0438\u0434\u0435\u0442\u044c.<\/p>\n<p>\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0441\u044f \u043f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c \u0437\u0430\u0434\u0430\u0447\u0443 \u043a\u0430\u043a \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u0443\u044e \u0432 \u043f\u0435\u0440\u0435\u0447\u043d\u0435 \u0437\u0430\u0434\u0430\u0447 (task list).<\/p>\n<h2>\u0414\u0435\u043b\u0435\u0433\u0430\u0442\u044b \u043d\u0430 \u0414\u0436\u0430\u0432\u0435<\/h2>\n<p>\u0414\u0435\u043b\u0435\u0433\u0430\u0442\u044b \u043d\u0430 \u0414\u0436\u0430\u0432\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043a\u043e\u0434 \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u043c\u0435\u0441\u0442\u0430\u0445 BPMN-\u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u044b. <a href=\"https:\/\/gitflic.ru\/project\/dpisarenko\/minimal-crypto-exchange\/blob?file=process-engine%2Fsrc%2Fmain%2Fjava%2Fcom%2Fdpisarenko%2Fminimalcryptoexchange%2Fdelegates%2FApproveUsdtTransfer.java\" rel=\"noopener noreferrer nofollow\"><u>ApproveUsdtTransfer.java<\/u><\/a>\u00a0\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u043c \u0442\u0430\u043a\u043e\u0433\u043e \u0434\u0435\u043b\u0435\u0433\u0430\u0442\u0430.<\/p>\n<p>\u041a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u043c\u0435\u0441\u0442\u043e \u043b\u044e\u0431\u043e\u0433\u043e \u0434\u0435\u043b\u0435\u0433\u0430\u0442\u0430 \u043d\u0430 \u0414\u0436\u0430\u0432\u0435 \u2013 \u044d\u0442\u043e \u043c\u0435\u0442\u043e\u0434\u00a0<code>execute<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 <a href=\"https:\/\/docs.camunda.org\/javadoc\/camunda-bpm-platform\/7.16\/org\/camunda\/bpm\/engine\/delegate\/DelegateExecution.html\" rel=\"noopener noreferrer nofollow\">DelegateExecution<\/a>\u00a0\u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430:<\/p>\n<pre><code class=\"java\">@Override public void execute(final DelegateExecution delEx) throws Exception {   final ERC20 usdtContract = loadErc20Contract.apply(     new LoadErc20ContractInput()       .withPrivateKey(privateKey)       .withUsdtContractAddress(usdtContractAddress)       .withEthNetworkUrl(ethNetworkUrl));          final BigInteger usdtAmount = (BigInteger) delEx.getVariable(\"USDT_AMOUNT\");   final BigInteger amountToApprove = usdtAmount.add(BigInteger.ONE);   usdtContract.approve(exchangeAddress, amountToApprove).send(); }<\/code><\/pre>\n<p>\u0427\u0435\u0440\u0435\u0437 \u043e\u0431\u044a\u0435\u043a\u0442\u00a0<code>DelegateExecution<\/code>\u00a0\u043a\u043e\u0434 \u043d\u0430 \u0414\u0436\u0430\u0432\u0435 \u043c\u043e\u0436\u0435\u0442 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0441 \u0434\u0432\u0438\u0436\u043a\u043e\u043c BPM. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 \u043a\u043e\u0434\u0435 \u0432\u044b\u0448\u0435 \u0441\u0442\u0440\u043e\u043a\u0430<\/p>\n<pre><code class=\"java\">final BigInteger usdtAmount = (BigInteger) delEx.getVariable(\"USDT_AMOUNT\");<\/code><\/pre>\n<p>\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u00a0<code>USDT_AMOUNT<\/code>.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u0434\u0435\u043b\u0435\u0433\u0430\u0442 \u043d\u0430 \u0414\u0436\u0430\u0432\u0435 \u0432\u044b\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 (\u043a\u0440\u043e\u043c\u0435\u00a0<code>BPMNError<\/code>), \u043e\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u043e \u0432 \u0432\u0438\u0434\u0435 \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442\u0430 \u0432 <a href=\"https:\/\/camunda.com\/products\/camunda-platform\/cockpit\/\" rel=\"noopener noreferrer nofollow\">\u043a\u043e\u043a\u043f\u0438\u0442\u0435<\/a> (\u0447\u0430\u0441\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0439 \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0438 \u041a\u0430\u043c\u0443\u043d\u0434\u044b). \u0422\u0430\u043c \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c \u043f\u043e\u043f\u044b\u0442\u043a\u0443 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u043a\u043e\u0434.<\/p>\n<h2>\u0414\u0435\u043b\u0435\u0433\u0430\u0442\u044b \u043d\u0430 \u041a\u043b\u043e\u0436\u0443\u0440\u0435<\/h2>\n<p><a href=\"https:\/\/clojure.org\" rel=\"noopener noreferrer nofollow\">\u041a\u043b\u043e\u0436\u0443\u0440<\/a> \u2013 \u044d\u0442\u043e \u041b\u0438\u0441\u043f \u043d\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 JVM. \u042d\u0442\u043e\u0442 \u044f\u0437\u044b\u043a \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u043a\u043e\u0434 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0431\u0435\u0437 \u0435\u0433\u043e \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0438 \u043c\u0430\u0433\u0438\u0438 \u0432\u0440\u043e\u0434\u0435 JRebel.<\/p>\n<p>\u042d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u0443\u0434\u043e\u0431\u043d\u043e \u0434\u043b\u044f \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f: \u041c\u043e\u0436\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u0443 BPMN \u0432\u00a0<a href=\"https:\/\/camunda.com\/products\/camunda-platform\/modeler\/\" rel=\"noopener noreferrer nofollow\"><u>\u041a\u0430\u043c\u0443\u043d\u0434\u0430 \u041c\u043e\u0434\u0435\u043b\u0435\u0440\u0435<\/u><\/a>\u00a0\u0438 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u043a\u043e\u0434 \u0434\u0435\u043b\u0435\u0433\u0430\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432 \u043d\u0435\u0439 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f, \u0447\u0435\u0440\u0435\u0437 REPL (\u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u043d\u0443\u0442\u0440\u0438 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 \u0434\u043b\u044f \u0418\u0434\u0435\u0438\u00a0<a href=\"https:\/\/cursive-ide.com\/\" rel=\"noopener noreferrer nofollow\"><u>Cursive<\/u><\/a>). \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0431\u044b\u0441\u0442\u0440\u043e \u043c\u0435\u043d\u044f\u0442\u044c \u043a\u043e\u0434 \u0438 \u0432\u0438\u0434\u0435\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0434\u0435\u043b\u0430\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0441\u0443\u0431\u044a\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u0438\u044f\u0442\u043d\u043e\u0439.<\/p>\n<p>\u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0440\u044f\u0434 \u0441\u043b\u0443\u0436\u0435\u0431\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d \u043d\u0430 \u041a\u043b\u043e\u0436\u0443\u0440\u0435.<\/p>\n<p>\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043f\u0440\u0438\u043c\u0435\u0440. \u0421\u043b\u0443\u0436\u0435\u0431\u043d\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430\u00a0<code>Determine whether or not we have any ETH<\/code>\u00a0\u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u043d\u0430 \u041a\u043b\u043e\u0436\u0443\u0440\u0435 \u2013 \u044d\u0442\u043e \u0432\u0438\u0434\u043d\u043e \u043f\u043e\u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u0432 \u043c\u043e\u0434\u0435\u043b\u0435\u0440\u0435 \u0432 \u043f\u043e\u043b\u0435\u00a0Delegate Expression\u00a0\u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e\u00a0<code>${ClojureDelegate}<\/code>. \u042d\u0442\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0421\u043f\u0440\u0438\u043d\u0433-\u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 \u0441 \u043a\u043e\u0434\u043e\u043c \u0438\u0437\u00a0<a href=\"https:\/\/gitflic.ru\/project\/dpisarenko\/minimal-crypto-exchange\/blob?file=process-engine%2Fsrc%2Fmain%2Fjava%2Fcom%2Fdpisarenko%2Fminimalcryptoexchange%2Fdelegates%2FClojureDelegate.java\" rel=\"noopener noreferrer nofollow\"><u>ClojureDelegate.java<\/u><\/a>.<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0412\u043e \u0432\u043a\u043b\u0430\u0434\u043a\u0435\u00a0<code>Input\/Output<\/code>\u00a0\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0432\u0438\u0434\u0435\u0442\u044c, \u0447\u0442\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439\u00a0<code>cljfn<\/code>\u00a0(<em>Clojure function<\/em>) \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <code>check_if_or_we_have_any_eth<\/code>.<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0424\u0443\u043d\u043a\u0446\u0438\u044f\u00a0<code>check_if_or_we_have_any_eth<\/code>\u00a0<a href=\"https:\/\/gitflic.ru\/project\/dpisarenko\/minimal-crypto-exchange\/blob?file=process-engine%2Fsrc%2Fmain%2Fresources%2Fcom%2Fdpisarenko%2Fcore.clj\" rel=\"noopener noreferrer nofollow\"><u>\u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442<\/u><\/a>\u00a0\u0442\u0430\u043a:<\/p>\n<pre><code class=\"lisp\">(defn check_if_or_we_have_any_eth   [de]   (let [available-eth (.getVariable de \"EXCHANGE_ACCOUNT_BALANCE_WEI\")]      (.setVariable de \"ANY_ETH_AVAILABLE\" (> available-eth 0))) )<\/code><\/pre>\n<p>\u042d\u0442\u043e\u0442 \u043a\u043e\u0434 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<ul>\n<li>\n<p>\u041c\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0441 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c\u00a0<code>check_if_or_we_have_any_eth<\/code>\u00a0(\u043f\u0435\u0440\u0432\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430).<\/p>\n<\/li>\n<li>\n<p>\u042d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u043e\u0431\u044a\u0435\u043a\u0442\u00a0<code>de<\/code>\u00a0(<em>DelegateExecution<\/em>) \u0432 \u043a\u0430\u0447\u0435c\u0442\u0432\u0435 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430 (\u0432\u0442\u043e\u0440\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430).<\/p>\n<\/li>\n<li>\n<p>\u0412 \u0442\u0440\u0435\u0442\u044c\u0435\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u043c\u044b \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439\u00a0<code>available-eth<\/code>\u00a0\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 <code>EXCHANGE_ACCOUNT_BALANCE_WEI<\/code>. \u041a\u043b\u043e\u0436\u0443\u0440\u0438\u0441\u0442\u044b\u0439 \u043a\u043e\u0434\u00a0<code>(.getVariable de \"EXCHANGE_ACCOUNT_BALANCE_WEI\")<\/code>\u00a0\u0434\u0435\u043b\u0430\u0435\u0442 \u0442\u043e \u0436\u0435, \u0447\u0442\u043e  <code>de.getVariable(\"EXCHANGE_ACCOUNT_BALANCE_WEI\")<\/code>\u00a0\u043d\u0430 \u0414\u0436\u0430\u0432\u0435.<\/p>\n<\/li>\n<li>\n<p>\u0412 \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u043c\u044b \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u00a0<code>ANY_ETH_AVAILABLE<\/code>\u00a0\u0440\u0430\u0432\u043d\u043e\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0443 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u00a0<code>available-eth > 0<\/code>.<\/p>\n<\/li>\n<\/ul>\n<h2>\u041a\u0430\u043a \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u0443 \u043a\u0440\u0438\u043f\u0442\u043e\u0431\u0438\u0440\u0436\u0443 \u0432 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0438?<\/h2>\n<p>\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0443\u0436\u043d\u043e<\/p>\n<ol>\n<li>\n<p>\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0438\u0441\u043f\u044b\u0442\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0441\u0435\u0442\u0438,<\/p>\n<\/li>\n<li>\n<p>\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0441\u043a\u043e\u043d\u0444\u0438\u0440\u0443\u0433\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u041a\u0430\u043c\u0443\u043d\u0434\u0443,<\/p>\n<\/li>\n<li>\n<p>\u043e\u0431\u043c\u0435\u043d\u044f\u0442\u044c \u0411\u0438\u0442\u043a\u043e\u0439\u043d \u043d\u0430 \u0422\u0438\u0442\u0435\u0440 \u0438<\/p>\n<\/li>\n<li>\n<p>\u0422\u0438\u0442\u0435\u0440 \u043d\u0430 \u0411\u0438\u0442\u043a\u043e\u0439\u043d.<\/p>\n<\/li>\n<\/ol>\n<p>\u041a\u0430\u043a \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c, \u043e\u043f\u0438\u0441\u0430\u043d\u043e \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445 1, 2 \u0438 3 \u043d\u0438\u0436\u0435.<\/p>\n<h2>\u0418\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u044d\u0442\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f<\/h2>\n<p>\u0415\u0441\u043b\u0438 \u0412\u044b \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u043d\u0430\u00a0<a href=\"https:\/\/gitflic.ru\/project\/dpisarenko\/minimal-crypto-exchange\" rel=\"noopener noreferrer nofollow\"><u>\u043a\u043e\u0434<\/u><\/a>, \u0442\u043e \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u0435 \u0440\u044f\u0434 \u0441\u0435\u0440\u044c\u0435\u0437\u043d\u044b\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435:<\/p>\n<ul>\n<li>\n<p><strong>\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0434\u0432\u043e\u0439\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438<\/strong>\u00a0(double-entry accounting): \u0412 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0431\u0438\u0440\u0436\u0430 \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u0435\u043d\u044c\u0433\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0435\u0441\u0442\u044c \u0432 \u0442\u043e\u043c \u0438\u043b\u0438 \u0438\u043d\u043e\u043c \u043a\u0440\u0438\u043f\u0442\u043e-\u043a\u043e\u0448\u0435\u043b\u044c\u043a\u0435. \u041e\u043d\u0430 \u043d\u0435 \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u0434\u0435\u043d\u044c\u0433\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0434\u0443\u0442 (\u043d\u043e \u0435\u0449\u0435 \u043d\u0435 \u043f\u0440\u0438\u0448\u043b\u0438) \u0432 \u043a\u043e\u0448\u0435\u043b\u0435\u043a \u0431\u0438\u0440\u0436\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0442\u0435 \u0434\u0435\u043d\u044c\u0433\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0438\u0440\u0436\u0430 \u043f\u043e\u043e\u0431\u0435\u0449\u0430\u043b\u0430 \u043e\u0442\u0434\u0430\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u0443\u0436\u0435 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0445 \u043e\u0431\u043c\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 (\u043d\u043e \u0435\u0449\u0435 \u043d\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u043b\u0430). \u0427\u0442\u043e\u0431\u044b \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u044f \u043a\u0440\u0435\u0434\u0438\u0442\u043e\u0440\u0441\u043a\u0443\u044e \u0438 \u0434\u0435\u0431\u0438\u0442\u043e\u0440\u0441\u043a\u0443\u044e \u0437\u0430\u0434\u043e\u043b\u0436\u0435\u043d\u043d\u043e\u0441\u0442\u044c, \u043d\u0443\u0436\u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0434\u0432\u043e\u0439\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438.<\/p>\n<\/li>\n<li>\n<p><strong>\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u0448\u0438\u0431\u043e\u043a:<\/strong>\u00a0\u0415\u0441\u043b\u0438 \u043e\u0431\u043c\u0435\u043d \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d \u043f\u043e \u0442\u043e\u0439 \u0438\u043b\u0438 \u0438\u043d\u043e\u0439 \u043f\u0440\u0438\u0447\u0438\u043d\u0435, \u0434\u0435\u043d\u044c\u0433\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0435\u043d\u044b \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u0435\u043b\u044e. \u041d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0442\u0430\u043a\u043e\u0433\u043e \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 \u043d\u0435\u0442.<\/p>\n<\/li>\n<li>\n<p><strong>\u041f\u043b\u043e\u0445\u0430\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u043a\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430:<\/strong>\u00a0\u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0435\u0441\u0442\u044c \u0434\u0432\u0435 \u0441\u0445\u0435\u043c\u044b BPMN \u0434\u043b\u044f \u043e\u0434\u043d\u043e\u0433\u043e \u0438 \u0442\u043e\u0433\u043e \u0436\u0435 \u0434\u0435\u043b\u043e\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 (\u043e\u0431\u043c\u0435\u043d \u043e\u0434\u043d\u043e\u0439 \u0432\u0430\u043b\u044e\u0442\u044b \u043d\u0430 \u0434\u0440\u0443\u0433\u0443\u044e). \u0421\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043e\u0434\u043d\u0443 \u0441\u0445\u0435\u043c\u0443 BPMN \u0438 \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0435 \u043f\u043e\u0434 \u043f\u0430\u0440\u044b \u0432\u0430\u043b\u044e\u0442 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430. \u042d\u0442\u043e \u0443\u043b\u0443\u0447\u0448\u0438\u0442 \u0441\u043e\u043f\u0440\u043e\u0432\u043e\u0436\u0434\u0430\u0435\u043c\u043e\u0441\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u044b.<\/p>\n<\/li>\n<\/ul>\n<p>\u0415\u0441\u043b\u0438 \u044f<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\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-330700","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/330700","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=330700"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/330700\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=330700"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=330700"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=330700"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}