Смарт-контракты в сети Ethereum на C#: знакомство с EthSharp
@cryptoacadem
Среда разработки Ethereum сравнительно молода. Именно поэтому, возникают сложности при создании децентрализованных приложений на блокчейне Ethereum. Ethereum разработчики ограничены использованием незнакомых языков и сред разработки, а также инструментами командной строки практически во всем.
Для энтузиастов это не проблема, но это препятствие на пути к адоптации, особенно, учитывая смешные темпы, с которыми разработчикам приходится изучать новые фреймворки, чтобы идти в ногу со временем. Компании, которые хотят участвовать в разработке Ethereum, должны либо нанимать новых талантливых специалистов, либо переквалифицировать существующие кадры. Те, кто хочет принять в этом участие и начать реализацию своей грандиозной идеи, вынуждены преодолевать ментальное препятствие, затрачивая время на изучение и понимание нового синтаксиса, прежде чем они смогут работать над прототипом.
Вот почему я создал EthSharp, организацию, которая планирует сделать разработку Ethereum и blockchain настолько же простой, как веб-разработка. Начинается он с нового (старого?) языка для разработки смарт-контрактов.
Ethereum смарт-контракты на C#
К настоящему времени мы добились существенного успеха в разработке компилятора C# -> EVM. Вы можете проверить его исходный код и следить за прогрессом здесь. Пожалуйста, не применяйте его в каких-либо важных контрактах и приложениях. Это непроверенная версия и она не готова для практического использования.
Вскоре ситуация прояснится. А пока, если вы не программист, то вам нужно знать следующее: вы действительно можете успешно писать базовые контракты на C#, которые в дальнейшем будут скомпилированы в байт-код Ethereum с помощью EthSharp.
Вот как выглядит настоящий контракт EthSharp. Его функциональность пока ограничена, но это будет скомпилировано...
using EthSharp.ContractDevelopment;
public class SimpleTest : Contract
{
public UInt256 StoredData { get; private set; }
public void Increase()
{
StoredData = StoredData + 1;
}
}
В это:
6053600C60003960536000F360606040526000357C0100000000000000000000000000000000000000000000000000000000900463FFFFFFFF1680631FB5D01A146043578063FB6F957914604857FE5B600054F35B60005460010160005500
Не стесняйтесь сравнивать с аналогичными контрактами на языке программирования solidity. Важно отметить, что EthSharp подписывается на тот же ABI, что и web3, и solidity, поэтому вы можете взаимодействовать с функциями на контрактах EthSharp так же, как и с solidity.
В долгосрочной перспективе
О чем еще следует написать:
- Проектные решения
- Как будут выглядеть контракты? Учет блоков и сообщений
- Почему именно C#?
- Дорожная карта и временная шкала - Когда проект будет готов к использованию?
Надеюсь, в течение следующих двух недель я смогу рассмотреть некоторые из вышеперечисленных тем.
Конечная цель состоит в том, чтобы иметь возможность писать смарт-контракты на знакомом языке, а также тестировать и развертывать их, используя привычный интерфейсй. Например, Visual Studio...
Компилятору EthSharp еще предстоит пройти долгий путь развития, но в контексте роста всей экосистемы, мы рассматриваем его как большой шаг в правильном направлении.
Если вы заинтересованы в его использовании или хотите внести свой вклад, обязательно свяжитесь с нами!
Перевод статьи подготовлен сообществом «Криптоакадемия».
