🌐 EOSIO.contracts V1.6.0: масштабирование доступности сетевых ресурсов посредством биржи ресурсов (REX)

in #blockchain5 years ago (edited)

Как активные участники разработки и совершенствования программного обеспечения EOSIO™, мы рады подтвердить, что для EOSIO.contracts уже доступен стабильный релиз. Полный список обновлений этого релиза см. в сводке изменений в EOSIO.contracts v1.6.0 на Github и в описании ишью (#117). В этом релизе основное внимание было уделено вопросам, связанным с REX (#94, #182, #196 и #208).

Основное назначение биржи ресурсов (Resource Exchange – REX) состоит в том, чтобы позволить владельцам токенов сдавать в аренду часть своих ресурсов CPU и сети тем, кто нуждается в большей вычислительной мощности для работы приложений на данной платформе. В этом релизе мы сконцентрируемся на более надежном по нашему мнению функционале для контрактов, поддерживающем стабильную работу REX, необходимой сообществу для анализа, адаптации и разработки своих продуктов.

Заинтересованные пользователи могут ознакомиться с уравнениями от Bancor, использованными для поддержки REX, и возможными вариантами инициализации системы. Подробный разбор этих соображений будет приведён в следующих постах от инженеров Block.one, которые работают над этими задачами.

Распределение сетевых ресурсов через биржу

Функциональные возможности, добавленные в этот релиз для связанных с REX контрактов, представлены в рамках контракта eosio.system без соответствующих пользовательских интерфейсов и вариантов развертывания. Предоставленный код контракта REX не является продуктом сам по себе – он представляет собой основу для контрактов, которую разработчики могут использовать для создания продуктов на базе биржи, предоставляющих эту функциональность пользователям блокчейнов на основе EOSIO.

Таким образом, REX предоставляет контракты для рынка аренды ресурсов CPU и сети, на котором владельцы основного токена блокчейна могут одолжить часть распределенных на них ресурсов, покупая (одалживая ресурсы) и продавая (возвращая ресурсы) токены REX в пул REX.

Разработчики блокчейн-приложений могут арендовать ресурсы CPU и сети из пула REX для удовлетворения своих технических потребностей. Длительность каждого займа составляет 30 дней, а цена займа определяется автоматическим маркет-мейкером. Обратите внимание, что токен REX не торгуется – это просто удобная учётная единица, которая помогает владельцам REX оценить доходность, которая определяется уровнем активности арендного рынка. Опционально, поступления от комиссий за торговлю RAM и аукционов имен аккаунтов также могут быть направлены в пул REX, что обеспечит держателям REX дополнительный источник дохода.

Один из побочных эффектов разработки REX-контрактов заключается в том, что их внедрение может повысить активность избирателей в публичных блокчейнах на базе EOSIO. Держатели основных токенов могут начать участвовать в пуле REX (зарабатывать токены за аренду имеющихся у них ресурсов) только после того, как проголосуют как минимум за 21 производителя блоков или делегируют свои голоса выбранному прокси.

Перевод системных комиссий на REX

Исходный код контракта eosio.system по умолчанию настроен на перевод комиссий с аукциона имен аккаунтов и покупки/продажи оперативной памяти в пул REX. Перевод этих комиссий производится только для новых транзакций; это никак не влияет на средства, уже собранные на аккаунтах eosio.ramfee и eosio.names.

Перевод этих комиссий можно отключить в исходном коде, установив макрос CHANNEL_RAM_AND_NAMEBID_FEES_TO_REX (определенный вeosio.system.hpp) на 0.

Развертывание REX в вашей среде

REX также вводит новые требования к инициализации системного контракта. Теперь перед развертыванием нового системного контракта в дополнение ко всем другим существующим системным аккаунтам должен быть создан аккаунт eosio.rex. Eosio.rex не должен быть привилегированным аккаунтом.

Действие eosio::init action, которое необходимо только при первом развертывании системного контракта в блокчейне, было введено в v1.4.0 EOSIO.contracts. В этом релизе оно было дополнительно модифицировано для отправки встроенного действия eosio.token::open, открывающего запись с нулевым балансом, соответствующую тикеру основного токена для аккаунтаeosio.rex. Действие eosio.token::open было впервые введено в контракт с eosio.token в версии 1.3.0 eosio.contracts. Перед развертыванием нового системного контракта рекомендуется развернуть последнюю версию контракта токена (как минимум 1.3.1) в аккаунте eosio.token. Если развернута более старая версия контракта токена, действие eosio::init всё равно будет успешным, однако при выполнении встроенного действия eosio.token::open может ничего не произойти.

Если эта версия системного контракта заменяет существующее развертывание более старой версии контракта eosio.system, то действие eosio::init не требуется или даже не допускается. Производители блоков могут по желанию выполнить действие eosio.token::open, чтобы создать запись с нулевым балансом для основного тикера токена для аккаунта eosio.rex.

ABI-файл rex.results.abi (сгенерированный автоматически) необходимо развернуть в аккаунте eosio.rex. Соответствующий контракт rex.results.wasm НЕ должен быть развернут. Действия buyresult, sellresult, rentresult и orderresult для rex.results недоступны. Они добавляются в качестве встроенных вспомогательных действий к rentnet,rentcpu, buyrex,unstaketorex и sellrex. Встроенное вспомогательное действие не оказывает никакого влияния, однако его данные включают в себя результат исходного действия и отображаются в его следе.

Настройка виртуального баланса пула REX

Действие setrex позволяет производителям блоков сбросить баланс total_rent в пуле REX на заданное значение, если возникнет такая необходимость. Важно отметить, что это действие НЕ требуется для инициализации системы REX и не рекомендуется к использованию более одного раза. Это резервный механизм, который позволяет производителям блоков сбалансировать рыночные цены аренды в том случае, если начальные настройки были непрактичны и не соответствовали количеству токенов, одолженных REX. Действие total_rent – это виртуальный баланс, оно не добавляет и не удаляет никакие реальные токены.

Оставайтесь на связи

Если вы хотите оставлять отзывы и сотрудничать с нашей командой более тесно, тем самым улучшая экосистему EOSIO для сообщества, вы можете написать нашей команде по связям с разработчиками на адрес [email protected].

Также вы можете получать все последние обновления, подписавшись на нашу рассылку на Портале разработчиков EOSIO. Мы стремимся непрерывно повышать удобство использования программного обеспечения EOSIO для разработчиков, тем временем продолжая закладывать фундамент для повсеместного распространения технологии блокчейн.

Все названия продуктов и компаний являются зарегистрированными товарными знаками соответствующих владельцев. Их использование не подразумевает никакой аффилированной связи с ними или материального поощрения.


Переведено @blockchained

Оригинал поста: ЗДЕСЬ


Если вам нравится то, что мы делаем - поддержите блокпродюсера blockchained в сети EOS

Развивайте сеть EOS вместе с нами - делегируйте свой голос proxy: dposproxyeos


Телеграм чат: https://t.me/EOS_RU


Загрузите десктопное приложение с открытым исходным кодом RuDex


Вы можете торговать токенами EOS на RuDEX

Coin Marketplace

STEEM 0.29
TRX 0.11
JST 0.033
BTC 63458.69
ETH 3084.37
USDT 1.00
SBD 3.99