WeWin.RU

    • Зарегистрироваться
    • Войти
    • Поиск
    • Категории
    • Метки
    • Непрочитанные
    • Популярные
    • Пользователи
    • Группы

    Ищу программиста под Solidity для разработки смарт-контрактов под EVM

    Обзоры, отзывы, предложения
    ethereum программирование
    5
    9
    1001
    Загружаем больше сообщений
    • Сначала старые
    • Сначала новые
    • По количеству голосов
    Ответить
    • Ответить, создав новую тему
    Авторизуйтесь, чтобы ответить
    Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
    • DimOK
      DimOK отредактировано DimOK

      Пожалуйста, выполните следующее тестовое задание, проверьте, что ваш код работает на любой тестовой сети и пришлите ссылку на адрес контракта, значения газа при вызове каждого из методов, исходный код контракта и кошелёк Ethereum для получения оплаты мне в личные сообщения на форуме или по электронной почте i_love_wta@gmail.com (без символов подчёркивания, логин из восьми символов!).

      Текст задания:

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

      SaveRecord
      Добавляет в блокчейн запись о человеке, клиенте банка, открывшем депозит (без кредитной линии).

      Параметры вызова метода:

      1. sex - пол человека
      2. birthDate - дата рождения человека
      3. name - имя и фамилия строкой, размер строки гарантированно меньше 22 байт.
      4. balance - баланс на счету человека в евроцентах, всегда целое число.

      Результат успешного вызова:

      1. Идентификатор записи.

      ShowRecord
      Выводит данные о клиенте

      Параметры вызова метода:

      1. uid - идентификатор записи, сгенерированный вызовом "SaveRecord"

      Результат успешного вызова:

      1. Строка с именем человека и уникальным обращением, в зависимости от пола, например "Mr. Name Lastname" для мужчины.
      2. Текущий возраст человека (полных лет)
      3. Доступный баланс человека в евро.
      4. Количество дней, которое человек является клиентом банка.
      5. Адрес человека, добавившего запись о клиенте

      UpdateBalance
      Изменяет баланс клиента, отражая пополнение или снятие с депозитного счёта.

      Параметры вызова метода:

      1. uid - идентификатор записи, сгенерированный вызовом "SaveRecord"
      2. amount - изменение баланса в евроцентах, целое число

      Результат успешного вызова:

      1. Новый баланс клиента.

      Конец задания.

      Используйте все доступные оптимизации, чтобы минимизировать стоимость вызова методов.
      Вы можете в целях оптимизации ставить разумные условия для валидации входных данных (как, например, условие, что name в запросе к SaveRecord будет меньше 22 байт).
      Все необходимые умолчания и предположения документируйте в коде.
      Если вы видите какие-то критические недостатки в логике работы - укажите на них и предложите решение.
      Приблизительное время проектирования - несколько часов, реализации - несколько часов.

      Если вы знаете кого-то, кому могло бы интересно заняться щедро оплачиваемой разработкой некоммерческого (без стремления за выгодой) уникального проекта, который сделает мир лучше - покажите ему это задание.

      PS: Если вы не используете ассемблерные вставки, скорее всего ваш код недостаточно оптимизирован.
      PPS: Оплата за тестовое задание составит от 0.01 до 0.1 ETH в зависимости от качества реализации и остаётся на усмотрение заказчика. Неработающие и частично реализованные задания оплачены не будут.

      1 ответ Последний ответ Ответить Цитировать 1
      • DimOK
        DimOK отредактировано

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

        Поэтому разработка "по ТЗ" - страшное зло. Программу надо продумывать, а сделать это сможет только человек, погрузившийся в атмосферу и обладающий определенными навыками. Бизнес пишет приблизительное ТЗ и надеется, что студия разработки проникнется идеей и сделает всё в лучшем виде. А студии оно сто лет не надо, они реализуют то, что написано в ТЗ, считая его догмой, тогда как это всего лишь наброски, сдадут работу, получат оплату... а то, что бизнесу придется переделывать сделанное через полгода - это их мало волнует.

        K 1 ответ Последний ответ Ответить Цитировать 2
        • DimOK
          DimOK отредактировано

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

          Н 1 ответ Последний ответ Ответить Цитировать 1
          • C
            Constantan отредактировано

            Интересно, есть ли смысл пытаться это сделать, не зная Solidity (но там вроде несложно) или нужны только опытные крипто-разрабы? Знаю Kotlin, Python, Rust (не блокчейн).

            DimOK 1 ответ Последний ответ Ответить Цитировать 0
            • S
              SiP отредактировано SiP

              Пользователь @dimok написал в Ищу программиста под Solidity для разработки смарт-контрактов под EVM:

              name - имя и фамилия строкой, размер строки гарантированно меньше 22 байт.

              А почему именно 22 байта?) А если араб какой зайдет или латинос у них имена фамилии огого, может и больше 22 букв быть. Но это даже не важно, почему именно 22?

              1 ответ Последний ответ Ответить Цитировать 0
              • gaserd
                gaserd отредактировано

                Так, я почитал, а зачем вы пытаетесь силами блокчейна переписать блокчейн? это разве не лишние функции?

                все апдейты баланса, вы и так вытащите у юзера, без смарт контракта, вам только ид смарт с которым он взаимодейтсвовал нужен и вуаля сидите операции ео фильтруйте.

                1 ответ Последний ответ Ответить Цитировать 0
                • DimOK
                  DimOK @Constantan отредактировано

                  Пользователь @constantan написал в Ищу программиста под Solidity для разработки смарт-контрактов под EVM:

                  Интересно, есть ли смысл пытаться это сделать, не зная Solidity (но там вроде несложно) или нужны только опытные крипто-разрабы? Знаю Kotlin, Python, Rust (не блокчейн).

                  Если вы можете понять ассемблер, то смысл пытаться есть.
                  Другое дело, что для успешной реализации эффективного контракта нужно ещё понимание, как солидити хранит данные и как с ними можно работать. Там нет ничего сложного или большого, но без этого никуда.

                  А дальше уже платформонезависимые задачки программирования, как лучше, как эффективнее, как безопаснее решить поставленную задачу.

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

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

                  Нормально забить на неэффективность реализации, когда у тебя под рукой гигагерцы процессорного времени и гигабайты памяти. На блокчейне за всё это надо платить пользователю, а пользователя надо любить, поэтому оптимизация (да, я знаю, что она преждевременная, но так интересно!) исключительно важна.

                  1 ответ Последний ответ Ответить Цитировать 0
                  • K
                    kava Уважаемый @DimOK отредактировано

                    Пользователь @dimok написал в Ищу программиста под Solidity для разработки смарт-контрактов под EVM:

                    Бизнес пишет приблизительное ТЗ и надеется, что студия разработки проникнется идеей и сделает всё в лучшем виде. А студии оно сто лет не надо, они реализуют то, что написано в ТЗ, считая его догмой, тогда как это всего лишь наброски, сдадут работу, получат оплату... а то, что бизнесу придется переделывать сделанное через полгода - это их мало волнует.

                    Так для того и придумали этот всякий agile чтобы бизнес тесно сотрудничал со студией)

                    1 ответ Последний ответ Ответить Цитировать 0
                    • DimOK
                      DimOK отредактировано

                      Прислали неплохую реализацию, причем человек, по его словам - новичок в solidity, ждём ещё.

                      1 ответ Последний ответ Ответить Цитировать 0
                      • 1 / 1
                      • Первое сообщение
                        Последнее сообщение