Skip to content

trustee-wallet/Interns_Practice_Guide

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 

Repository files navigation

Trustee Smart-contracts practice

Solidity

Матеріали

  1. Solidity doc
  2. Рекомендації щодо оформлення коду Solidity
  3. Розповсюджені шаблони та підходи для написання смарт-контрактів
  4. Cryptozombies

Задачі

  1. Матеріали для ознайомлення (1-2 дні):
  2. Написати свій найпростіший ERC-20 токен (скомпілювати в Remix або Truffle, закинути в будь-який TestNet, надати посилання на контракт, показати тестові транзакції з переказу токенів між декількома (мінімум 3) адресами. Переказ токенів можна здійснити за допомогою MyEther Wallet. Дослідити транзакцію в Etherscan: розібратись за що відповідає кожен з параметрів, які показані в Etherscan. (1 день) Матеріали зі створення та запуску токенів:
  3. Опублікувати вихідний код контракту в TestNet (1 день).
  4. Дослідити контракт токена Edgeless і розібратися чим він відрізнятися від стандартного ERC-20 токена. (1 день).
  5. Написати свій ERC-20 токен з можливістю спалювання певної кількості токенів після певної дати (закинути на TestNet, надати посилання на контракт, показати тестові транзакції з переказу токенів між декількома (мінімум 3) адресами. (1 день).
  6. Написати ERC-20 токен з двома власниками (додатково реалізувати можливість додавати власників за згодою більше половини поточних власників). (1-2 дні).
  7. Додати в ERC-20 токен функціональність виплати дивідендів в ETH, при надходженні ETH на баланс контракту. Дивіденди розподіляти пропорційно кількості токенів (1-2 дні).
  8. Написати контракт, котрий розподіляє ERC-20 токени описані іншим контрактом (додатково реалізувати функцію додаткової емісії цих же токенів) (1-2 дні).
  9. Написати контракт MultiSig, котрий реалізує функцію голосування за роздачу токенів на певну адресу з певною сумою (1-2 дні). Умови:
  • Видавати токени на адресу тільки після того, як кількість тих, хто проголосував “ЗА” більше, ніж половина.
  • Реалізувати властивість контракту, що дозволить повторно голосувати за роздачу токенів на одну і ту ж адресу.
  • Контракт повинен враховувати, що кількість адрес, котрі голосують може бути парною чи непарною.

Web3.js (Node.JS lib)

Web3 doc

  1. Навчитися визначати баланс ETH на заданій адресі (1 день).
  2. Навчитися передавати ETH програмно (1 день).
  3. Реалізувати можливість деплойменту контракту з початковими параметрами переданими в конструктор (1 день).
  4. Реалізувати простий скрипт розподілення ERC-20 токенів від імені власника (на вході масив з адресами і кількістю токенів для кожної адреси) (1-2 дні).
  5. Написати скрипт визначення балансу ERC-20 токенів заданого контракту на адресі (списку адрес) (1-2 дні).

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •