Аннотация
Многие блокчейн-приложения обмениваются токенами, такими как биткоин и эфир, или реализуют их с помощью смарт-контрактов. Тенденция в блокчейне заключается в неизменном применении стандартов взаимодействия токенов от платформы к платформе, облегчая задачи проектирования с помощью надежных и широко используемых спецификаций. Однако использование семантики целевого языка может привести к технологическим преимуществам и более эффективным контрактам. Целью статьи представлен реинжиниринг реализации стандартов ERC-20 и ERC-721 OpenZeppelin в Takamaka, Java-фреймворке для программирования смарт-контрактов. Актуальным является решение проблемы о типах, разрешенных для владельцев токенов, и новая реализация для создания моментальных снимков токенов на основе древовидных карт, которая возможна в виртуальной машине Java. Более того, это относится и к ERC-721, где ранее отсутствовал механизм моментального снимка. Тот же механизм моментального снимка может быть применен и за пределами смарт-контрактов для токенов.