Athereum: Ethereum-on-AVA

stsoen
AVA Russia
Published in
7 min readFeb 19, 2020

Теперь поговорим о существующих имплементациях Avalanche.

Инструкция ниже — это не техзадание для комьюнити, а всего лишь пример работоспособности Avalanche, который вы можете проверить сами!

Athereum — это имплементация AVA и Ethereum с полной поддержкой EVM (Ethereum virtual machines) с консенсусом Avalanche в основе.

Ethereum дал возможность создавать децентрализованные приложения. Благодаря этому разработчики, предприниматели и крипто-энтузиасты могут наглядно видеть весь потенциал, который способны дать децентрализованные сети мировой экономике. Вероятно, AVA Labs, не была бы на том месте, где он есть сегодня, без такой основы. Существование децентрализации в принципе оказалось осуществимо именно благодаря правильному позиционированию Ethereum и его возможностям к трансформации.

Athereum — это «spoon», или дружественный форк сети Ethereum, использующий ее экосистему с приложениями на механизме консенсуса Avalanche. Благодаря достаточно длительному сроку разработки в течении последних 4х лет, Ethereum уже имеет большое количество dApps (децентрализованных приложений), и разработчики смогут получить доступ через Aethereum к таким инструментам, как Remix, Metamask, MyEtherWallet, Web3js, Truffe Suite, Embark Framework.

Что из себя представляет платформа AVA?

Как вы можете помнить из предыдущих статей, AVA представляет собой основу для создания других платформ, позволяющую разработчикам создавать свои собственные подсети, в которых можно выпускать, использовать и торговать цифровыми активами любого типа, которые только можно вообразить. Athereum — первая подсеть, поддерживаемая на платформе AVA с интеграцией уже готовых виртуальных ресурсов. Athereum обладает всей функциональностью, встроенной в EVM (Ethereum Virtual Machines). И вместо ETH, родным токеном, поддерживаемым на платформе Athereum, является ATH.

В этом кстати, заключалось небольшое заблуждение, из-за которого возникали вопросы: будут ли раздаваться токены Avalanche держателям ETH? Нет, токен AVA и ATH — два совершенно разных токена, принадлежащих разным сетям, пусть и работающим на одном консенсусе.

Что такое дружественный форк?

Это не хардфорк. В данном случае просто переносится состояние сети Ethereum на определенном блоке и не нужно бороться за признание какого-либо из ответвлений главной цепочкой. То есть, все владельцы кошельков ETH получат количество ATH, соответствующее балансу эфира на их кошельках. Athereum не заменяет Ethereum, а представляет собой альтернативную сеть с более высокой пропускной способностью и меньшим временем завершения операций, позволяющую также запускать dApps. И мы надеемся, что это теоретически может дать как новый толчок к исследованиям и разработке aApps, так и повлияет на оптимизацию самой EVM.

Чтобы продемонстрировать работоспособность консенсуса Avalanche с другими сетями, мы запустили маленькую сеть AVA с 25ю нодами, в которой развернули Athereum в виде субсети.

Что такое консенсус Avalanche?

Avalanche — новая категория консенсусных протоколов. Он отличается от протокола с самой длинной цепью (Накамото) тем, что обеспечивает более высокую пропускную способность, ограниченную только EVM. Транзакции в сети Avalanche подтверждаются в течении нескольких секунд, сеть может поддерживать тысячи узлов, участвующих в консенсусе без каких-либо подсетей (шардинга) и ущерба для скорости. Можно сказать, что мы решили триллему (триллема, выдвинутая Бутериным — несколько переиначенный вариант теоремы Брюера), хотя и изначально не верили в нее.

Теперь рассмотрим более подробно Athereum и разберемся, как с ним взаимодействовать:

Как мы уже писали выше, Athereum развернут в виде субсети на 25ти нодах AVA. Запущено открытое соединение RPC со всеми доступными вызовами ETH JSON-RPC (протокол удаленного вызова процедур, Remote Procedure Call). Ниже мы рассмотрим, как получить доступ к этому демо-RPC и взаимодействовать с демо-контрактом, который мы развернули для демонстрации работы. Демо-контракт — это простая лотерея, в которой вы регистрируетесь (“покупаете” билет) в лобби, а в конце победитель выбирается “случайным образом” (т.е. мы просто вручную выбираем одного из них случайным образом). Да, в этом совершенно ничего особенного нет, мягко говоря, но это все же лишь демонстрация работоспособности, не более того.

Если вы хотите посмотреть сам контракт, то можете сделать это здесь. Этот контракт должен быть простым, а не безопасным, так что средства не #SAFU. Или не настоящие, если уж на то пошло. Опять же, повторимся, это всего лишь тест :)

Что потребуется:

Во-первых, кошелек MyEtherWallet или MyCrypto — они довольно похожи, далее будем рассматривать взаимодействие с контрактом на примере MEW. Далее вам потребуется приватный ключ. Для обеспечения безопасности и защиты от рисков мы советуем использовать случайно сгенерированный приватник, например в https://vanity-eth.tk/, нажав Generate внизу страницы. После этого нажмите Private key: Click to reveal и сохраните свой приватный ключ для дальнейшего использования. Повторимся еще раз: вы не должны использовать свой личный приватный ключ или Ethereum JSON Keyfile из соображений безопасности.

Далее открываем кошелек MEW c этим приватным ключом на сайте https://www.myetherwallet.com/, нажав “ Acess My Wallet”, затем — “Software wallet”. В следующем окне вы можете выбрать файл хранилища ключей (keystore file), мнемоническую фразу (mnemonic phrase) или приватный ключ (private key). Для этой демонстрации используйте приватный ключ, сгенерированный ранее. Выберите опцию « Private Key» и нажмите кнопку «Continue ». Затем просто вставьте этот приватный ключ и нажмите «Access Wallet»:

Теперь вы увидите свой адрес, баланс и сеть. В следующем разделе разберемся, как подключиться к нашей демонстрационной сети Athereum.

Подключение к сети Athereum

Чтобы подключиться к Athereum, вам нужно использовать кошелек MEW, созданный ранее и выполнить нижеследующие действия:

В голубом поле справа с надписью « Network» нажмите кнопку « Change».

На следующем окне переключите ползунок «Add Custom Network/Node»

Далее появится окно Advanced с запросом информации о пользовательской сети. По умолчанию там стоит ETH — Ethereum Mainnet. Вам надо переключить опцию на «CUS - CUSTOM», этот пункт в самом низу выпадающего меню, изображенного ниже.

Чуть левее вылезет еще несколько полей, вам нужно заполнить их следующими параметрами, как на рисунке ниже: Port 21015, ChainID 43110, URL https://ava.network/ext/evm/rpc, ExplorerTx http://athexplorer.ava.network/tx/[[txHash]], и ExplorerAddress http://athexplorer.ava.network/address/[[address]]. Затем нажмите « Save».

Теперь вам нужно прокрутить вниз и выбрать « AVA ETH 1 (CUS)» под заголовком «Custom Networks», щелкнув его название.

После всех этих манипуляций вы увидите в поле Networkвашего кошелька следующее (номер последнего блока конечно, будет отличаться):

Взаимодействие с контрактом

Теперь можно приступить уже к работе с контрактом через ваш кошелек. На боковой панели MEW слева от рабочего стола разверните пункт меню “Contract” и нажмите « Interact with Contract»:

Заполните поле “ Contract Address", чтобы прочитать "0x1a392d4cA5E4f874D55619F245c3Fc56548C1824" и " ABI/JSON Interface", чтобы получилось следующее(адрес контракта на рисунке может отличаться от адреса контракта выше): https://gist.github.com/collincusce/d0fe8cea9223bf3ab67a1914173a1e34

Далее нажмите « Continue» для взаимодействия с контрактом:

Выберите функцию getSizeиз выпадающего меню справа:

Это вызывает функцию getSize()в контракте и отображает ее результаты. Можете записать значение « Result», которое появляется после выбора функции. Это число должно увеличиваться, поскольку люди используют контракт.

Теперь выберите функциюregisterиз выпадающего меню справа:

Оставьте поля как есть и нажмите кнопку « Write», чтобы зарегистрировать свой адрес в контракте. Примечание. Вы можете зарегистрироваться только один раз для каждого адреса.

На следующем экране нажмите « Confirm and Send», а затем кнопку «ОК».

Теперь снова выберите « getSize », и вы увидите, что значение « Result» увеличилось. Если далее контракт используют еще несколько человек, он должен увеличиться на количество вновь зарегистрированных участников.

Поздравляем!

Теперь вы научились взаимодействовать с демонстрационной сетью Athereum. Вы можете развертывать контракты и использовать их также, как в сети Ethereum mainnet. Парочка уточнений напоследок: AVA работает за доли секунды, поэтому блоки будут создаваться очень быстро. Если ваша система зависит от определенного времени блокировки, то она должна быть скорректирована с учетом этой новой скорости. Кроме того, AVA не требует ожидания подтверждений. Поэтому подтверждения больше не нужны, так как в этой версии Ethereum не используется консенсус с самой длинной цепью. И наконец, это лишь тестовая сеть, использующая AVA Alpha Client, еще не выпущенный публично. Подключение немодифицированное, скорее всего gethузлы будут вести себя несколько нестандартно. Там нет гарантии доступности, и эта система еще не прошла полный цикл тестирования. Если вы что-то найдете - сообщите об этом, отправив электронное письмо по адресу contact@avalabs.org .

Мы призываем сообщество Ethereum портировать существующие приложения для того, чтобы протестировать возможности Athereum, и с нетерпением ждем совместной работы для построения лучшего будущего!

Подписывайтесь на наши социальные сети и следите за обновлениями!

--

--