Смарт контракты Ethereum: структурируем токены как акции

Комментарии (6)

  • 9 мая 2017 в 20:01

    +1

    Синтакс солидити конечно хромает :(.


    Был класс стал контракт, при этом в контракте-классе функции, а не методы.Больше всего удивляет throw.
    Из-за магии в бекграунде немного непонятно, что вирт машина делает, откуда берет все эти данные и куда их сохраняет и как сдает…


    Видимо у меня это все пролетает мимо в голове.

  • 9 мая 2017 в 21:18

    0

    Очень рекомендую ресурс learnxinyminutes.com/docs/solidity, где очень концентрированно «в кучу» приводится вся информация о Solitidy. Для более упорядоченных знаний имеет смысл обратиться к оригинальной документации https://solidity.readthedocs.io/en/latest/.
    Чтобы писать смарт контракты не обязательно понимать, как оно хранится, важнее понимать, что и сколько стОит:)
  • 9 мая 2017 в 21:19 (комментарий был изменён)

    +1

    Есть вещь, на которую я хотел бы обратить внимание. Не знаю, где вы искали описание стандарта на токен, самой главной ссылки у вас нет: ERC20. Отсюда видно, что balanceOf — необязательно mapping, по стандарту это function balanceOf(address _owner) constant returns (uint256 balance). Вы можете объявить это просто как mapping (address => uint256) только потому, что компилятор Solidity создаёт для этой карты геттер с указанной в стандарте сигнатурой (пруф из документации).


    Это всё к чему: вместо лишнего уровня обёрток можно было просто объявить приватный mapping (address => TokenHolder), написать balanceOf и всё остальное, что требуется по ERC20, поверх этого маппинга и очень существенно упростить исходник.

    • 9 мая 2017 в 21:21

      0

      Вы совершенно правы, но существенного упрощения исходников я не вижу. Но, возможно, будет чуть понятнее код.
      • 9 мая 2017 в 21:25

        +1

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

        • 9 мая 2017 в 21:28

          0

          Это существенный аргумент!

© Habrahabr.ru