WeWin.RU

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Unread
    • Popular
    • Users
    • Groups

    Осваиваем смарт-контракты на Ethereum

    Вопросы и инструкции
    ethereum смарт-контракты
    4
    31
    2047
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • DimOK
      DimOK last edited by

      Онлайн среда разработки
      https://remix.ethereum.org/

      Документация одного языка, попроще: https://vyper.readthedocs.io/en/stable/
      Документация другого языка, помощнее и посложнее: https://solidity.readthedocs.io/en/latest/

      Пробуем осваивать...

      1 Reply Last reply Reply Quote 0
      • T
        T last edited by

        Тоже давно хотел этим заняться. Составлю компанию и начну изучать Вайпер параллельно с https://eth-brownie.readthedocs.io/en/stable/

        1 Reply Last reply Reply Quote 0
        • DimOK
          DimOK last edited by DimOK

          https://ethfiddle.com/
          Вот тут вот играться можно, правда на старой версии Solidity, но для понимания процесса - то что нужно.

          А вот ещё лучше!
          https://studio.ethereum.org/

          1 Reply Last reply Reply Quote 0
          • DimOK
            DimOK last edited by

            Сложно, с этими типами, непривычно всё, конечно. И всё, вроде, понятно, а над простейшими вещами бьёшься часами.
            Плюс гавнокод же получается в любом случае, лишь смутное представление, как оно должно работать и какие проблемы могут быть... Аудит нужен в любом случае, а где его брать?

            1 Reply Last reply Reply Quote 0
            • T
              TDG last edited by TDG

              CertiK, OpenZeppelin, Quantstamp, PekShield, Hacken.

              DimOK 1 Reply Last reply Reply Quote 2
              • DimOK
                DimOK last edited by

                Так, ну что-то я задолбался, на сегодня хватит...
                Что я понял: разобрался, как там данные хранятся, методом тыка понял, как сделать настройки изменяемые и начал создавать структуру "сущностей", чтобы каталогизировать рынки...

                С помощью https://studio.ethereum.org/ даже сделал махонькое подобие dApps, то есть сразу и интерфейс будем потихонечку впиливать

                Вообще, как бы, всё очень хорошо, за полдня уже какой-никакой смарт-контракт, какой-никакой доступ к нему со странички...

                На сегодня наверное хватит, ещё вечером надо статью написать, про то, как децентрализованный каталог лучше организовать, я вроде понимаю как, но не уверен, что это оптимально.

                1 Reply Last reply Reply Quote 0
                • DimOK
                  DimOK @TDG last edited by

                  Пользователь @tdg написал в Осваиваем смарт-контракты на Ethereum:

                  CertiK, OpenZeppelin, Quantstamp, PekShield, Hacken.

                  Эх.. ну вот открыл я Квантстамп например... Видно, щёки надувают, всех консультируют, все дела... Сколько это будет стоить, и насколько это эффективно? Просто для того, чтобы 2-3 сообразительных паренька просмотрели код и дали рекомендация по тому, как его лучше поменять, придется оплачивать десятка два дармоедов, которые вокруг этих пареньков собрализь, то есть х5-х10 от реальной стоимости... Неэффективно :(

                  T 1 Reply Last reply Reply Quote 0
                  • T
                    T @DimOK last edited by

                    Пользователь @dimok написал в Осваиваем смарт-контракты на Ethereum:

                    Пользователь @tdg написал в Осваиваем смарт-контракты на Ethereum:

                    CertiK, OpenZeppelin, Quantstamp, PekShield, Hacken.

                    Эх.. ну вот открыл я Квантстамп например... Видно, щёки надувают, всех консультируют, все дела... Сколько это будет стоить, и насколько это эффективно? Просто для того, чтобы 2-3 сообразительных паренька просмотрели код и дали рекомендация по тому, как его лучше поменять, придется оплачивать десятка два дармоедов, которые вокруг этих пареньков собрализь, то есть х5-х10 от реальной стоимости... Неэффективно :(

                    На рынке катастрофически не хватает людей, которые могу сделать качественный аудит. Очередь к ним большая, цена соответствующая. Так что щеки надувают не просто так, к сожалению.

                    trailofbits.com $16,000 1 week 1 person

                    cryptomaniacs $5,000 ( two weeks, two people ~ normally $10,000, they offered some pro bono work)

                    certik.org (quote pending)

                    quantstamp.com (no response)

                    sigmaprime.io $27,500 11 days 2 people

                    openzeppelin.com (quote pending)

                    Рекомендую прочесть: https://medium.com/iearn/things-i-wish-i-knew-before-building-ethereum-defi-dapps-cd6bf0f07a16

                    1 Reply Last reply Reply Quote 1
                    • DimOK
                      DimOK last edited by

                      Прочитал, интересно.
                      Но большая половина не про меня, а что аудит проходить сложно - ну так найдём нормальных пацанов, контакт-лист большой.

                      1 Reply Last reply Reply Quote 0
                      • DimOK
                        DimOK last edited by

                        Придумал, в какое место токены прикрутить, лучших токенов я ещё не видел...

                        T 1 Reply Last reply Reply Quote 0
                        • T
                          T last edited by T

                          Классная инициатива от ребят из y.finance: https://gitcoin.co/blog/announcing-the-kernel-security-track/

                          1 Reply Last reply Reply Quote 0
                          • T
                            T @DimOK last edited by

                            Пользователь @dimok написал в Осваиваем смарт-контракты на Ethereum:

                            Придумал, в какое место токены прикрутить, лучших токенов я ещё не видел...

                            Рассказывайте!

                            1 Reply Last reply Reply Quote 0
                            • DimOK
                              DimOK last edited by

                              Кодить над, чего рассказывать.
                              Называться токен будет "EBES"
                              По-английски вполне благозвучно звучит, а по-русски - прикольно, бггг

                              C 1 Reply Last reply Reply Quote 0
                              • DimOK
                                DimOK last edited by

                                Насколько далеко состояние "ура, работает" до состояния "работает оптимально" :(

                                1 Reply Last reply Reply Quote 0
                                • C
                                  CaseyR @DimOK last edited by

                                  Пользователь @dimok написал в Осваиваем смарт-контракты на Ethereum:

                                  Кодить над, чего рассказывать.
                                  Называться токен будет "EBES"
                                  По-английски вполне благозвучно звучит, а по-русски - прикольно, бггг

                                  Не забудьте залистить на юнисвап с хорошей ликвидностью

                                  1 Reply Last reply Reply Quote 0
                                  • DimOK
                                    DimOK last edited by

                                    А у меня не будет токенов :( их надо за эфирки у смарт-контракта покупать и ему же продавать.

                                    T 1 Reply Last reply Reply Quote 0
                                    • T
                                      T @DimOK last edited by

                                      bonding curve?

                                      1 Reply Last reply Reply Quote 0
                                      • DimOK
                                        DimOK last edited by

                                        Не совсем, супплай тоже фиксированый.
                                        Просто доли от прибыли смарт-контракта. Продажа токенов считается прибылью.
                                        Очень красиво получилось, но не могу разобраться, как Пуассона прикрутить... Кешировать значения не выход, надо штук 700 значений сохранить... и не работает что-то, в общем завтра поковыряю, хотя бы понятно, в каком направлении думать.

                                        1 Reply Last reply Reply Quote 0
                                        • DimOK
                                          DimOK last edited by

                                          То есть я знаю, как сделать футбол/хоккей, знаю как сделать (трудно сделать) теннис, знаю как сделать баскетбол... Может правда отдельные алгоритмы под них дать, по отдельности реализовать... Или можно забить на баскетбол, например... Сложно :( Но нужно сделать, иначе ликвидность будет грустная.

                                          1 Reply Last reply Reply Quote 0
                                          • DimOK
                                            DimOK last edited by

                                            Читаю, читаю... Столько моментов, тонкостей, оптимизаций...
                                            Видимо надо, как обычно, сначала сделать плохо, потом увидеть, почему плохо и начать узнавать, как сделать хорошо.

                                            1 Reply Last reply Reply Quote 0
                                            • DimOK
                                              DimOK last edited by

                                              Какая хорошая библиотечка, можно складывать кучу циферок в плотные байт-массивы, на ассемблере.
                                              https://github.com/GNSPS/solidity-bytes-utils
                                              То что надо.

                                              1 Reply Last reply Reply Quote 0
                                              • DimOK
                                                DimOK last edited by

                                                Вообще, смарт-контракты, в силу ограниченности блокчейн-программирования - это очень просто.
                                                Создаёшь какие-то структуры данных и как-то их изменяешь, всё. Сложить, умножить, разделить, прочитать, сохранить. Сложную логику ты не можешь, да и не хочешь реализовывать на блокчейне.
                                                Соответственно весь вопрос качества смарт-контракта - это качество структур данных, я надеюсь, что с этим проблем не будет. С чем будут проблемы - это с опытом программирования под блокчейн, я просто не знаю, как правильно реализовывать те или иные паттерны.

                                                Очень бы хотелось, чтобы кто-нибудь опытный посмотрел на мой код и указал на грубые ошибки проектирования... Но у опытных либо свои проекты, либо загруженный рабочий день, плюс они хорошо обеспечены, я не могу их заинтересовать ни деньгами, ни собственно проектом. А связываться с людьми, которые просто знают, как написать ERC20 токен не хочется.

                                                1 Reply Last reply Reply Quote 0
                                                • DimOK
                                                  DimOK last edited by

                                                  https://consensys.github.io/smart-contract-best-practices/recommendations/
                                                  Вот тут интересно... Какой же плохой код я пишу :(

                                                  1 Reply Last reply Reply Quote 0
                                                  • DimOK
                                                    DimOK last edited by

                                                    Я не люблю писать тесты. Не ленюсь, а не люблю. Покрытие тестами, зачастую, это деятельность ради деятельности, написать хороший тест, который учитывает все возможные сценарии сложно, а если у нас ещё есть какие-то внешние данные - то не всегда возможно. Не лучше ли вместо набивания килобайтов тестов сделать проверки входных данных в самой программе?

                                                    Однако есть best practices и в них нас заставляют писать модули, покрывать их тестами. Иначе это плохой код... Понятно, зачем это нужно, когда у тебя в команде 10 кодомакак, и они работают над одним проектом, ты не можешь заставить одну макаку писать эту функцию, а вторую - другую. Тебе надо выделить модуль для каждой макаки, покрыть его тестом, а дальше устраивать код-ревью, после того, как тесты прошли, чтобы убедиться, что макака действительно что-то нормальное написала.

                                                    Но если ты сам себе макака - зачем нужны тесты, ты отвечаешь за каждую функцию, что она сделана наилучшим доступным тебе способом...

                                                    Не хочу писать тесты, узнавать best practices и patterns хочу, это полезно. Тесты и разбиение на модули - пустая трата времени.

                                                    1 Reply Last reply Reply Quote 0
                                                    • DimOK
                                                      DimOK last edited by

                                                      К сожалению, studio.ethereum.org недостаточно для нормальной разработки, увы, было очень удобно.

                                                      Недостатки:

                                                      • я не смог разобраться, как отправлять массив значений контракту через их интерфейс, кажется это баг, а проект больше не поддерживается.
                                                      • старая версия solidity

                                                      Остальное всё было очень удобно, но видимо нужна среда разработки с большим контролем...

                                                      https://github.com/ethereum/ethereum-org-website/blob/dev/src/content/developers/docs/frameworks/index.md

                                                      Надо разобраться, какие бывают и выбрать, truffle мне не нравится...

                                                      1 Reply Last reply Reply Quote 0
                                                      • 1
                                                      • 2
                                                      • 1 / 2
                                                      • First post
                                                        Last post