Блокчейн та
смарт-контракти для UNICEF

Це інноваційна система, яка замінює поточні телефонні, а також поштові процеси для внутрішньої та зовнішньої спільної роботи, обробки фінансових даних, виконання транзакцій та ведення записів.
Про проект
Вся ідея полягала в тому, щоб навести бізнес-процеси в цифрову форму з оптимізацією та використанням смарт контрактів.

Є три учасника:
- перший учасник - це UNICEF (наш Клієнт), який створює та сприяє здійсненню проекту, переводить фонд від спонсора до підрядника;
- другий - це Підрядник, який виконує проект, займається плануванням, реалізацією та випуском, отримує кошти на свою роботу;
- третій - Спонсор, який виділяє кошти на проекти, слідкує за виконанням.

Веб-додаток повинен об'єднувати реалізацію «проекту» Підрядником, отримання коштів, тобто токенів через Ethereum блокчейн та звіт за витрачені кошти для Клієнта. Нашим завданням було впровадити весь процес у віртуальний інтерфейс та змусити його працювати.
Область застосування рішення
Написаний смарт контракт на Solidity для Ethereum блокчейн.
Реалізовано випуск внутрішньої валюти (токенів).
Розроблено веб-інтерфейс, де реалізовано увесь ланцюжок необхідних послідовних заходів для ведення проекту.

Веб-додаток включає вже існуючі інтерфейси та ресурси організації UNICEF. А саме, він відображає увесь бізнес-процес нашого Клієнта: в організації існує ціла низка ролей з їх правами в системі, починаючи з створення проекту.
Завдання та їх вирішення
Крок 1

Було виявлено багато трудомістких процесів, що ускладнюють саму ідею спрощення речей через специфіку організації UNICEF.
Ми визначили існуючі ролі та їх обов'язки, розділили їх на блоки та вибудували функціональну логіку навколо кожного типу облікових записів користувачів.
Крок 2

Коли інформація була оброблена та перетворена на юзкейси, наша команда перейшла на етап проектування.
Нашою командою були підготовлені три варіанти сценаріїв зі своїми плюсами та мінусами для вибору Клієнта.
Крок 3

Коли архітектура була обрана та затверджена, ми почали розробку та тестування.
По-перше, ми змоделювали весь бізнес-процес, як він фізично проходить, починаючи із створення проекту співробітником UNICEF і закінчуючи звітом Підрядника про виконану роботі. Переказ коштів з одного рахунку на інший, який зазвичай виробляється у банку, був замінений смарт контрактом. Була реалізована внутрішня валюта для Клієнта у межах Екосистеми Etherium. Наприкінці було проведено приймальне користувальницьке тестування, і програма була передана Клієнту.
Технології
<Technologies>

                  Через складність та незвичайний характер цього проекту було прийнято рішення

                  використовувати Vue.js для Front end та Node.js для Back end,
              
                  смарт контракт був реалізований на Solidity,
              
                  яка широко використовується на Ethereum (ERC20).
              
                  Було вибрано кілька баз даних – PostgreSQL, MongoDB.

</Technologies>
Архітектура
Вибір інструментів
Back end підключений до блокчейну через Web3js, взаємодіє через запити json-rpc. Кожна програма (Back end, інтерфейс користувача - Front end) працює в окремому контейнері Docker та керується через Docker-Compose.
Додаток складається з наступних частин:
  1. Ethereum блокчейн з консенсусом PoW підключений до Ropsten Testnet через ноду Infura.io. Поточне складання заснована на офіційному складанні Go Ethereum, яке в даний час є останньою робочою версією консенсусу PoW.

    Також вона надає Blockchain Explorer інформацію про ноди Ethereum, таку як номер блоку, інформація про блок, прямі JSON-RPC ендпоінти, системні логи та ін.
2. NodeJS Back end. Додаток NodeJS, який служить посередником з Ethereum блокчейн, забезпечує REST API для UI FrontEnd, а також забезпечує створення гаманців через бібліотеку Lighwallet для операцій з Ether та ERC20 Token, таких як transfer, approve, transfer від, balance.

PostgreSQL DB служить для зберігання інформації, пов'язаної з користувачем - інформація для входу в систему, хеш файлів і т.д.
3. Vue.js Front end. Додаток Vue.js відображає увесь складний бізнес-процес організації UNICEF та дозволяє легко здійснювати користувачам всі необхідні операції починаючи від створення проекту та закінчуючи переглядом звітів про виконану роботу Підрядник.
Результати
  1. Однорідність. Створено програму, де всі учасники процесу можуть зустрітись разом. Це дозволяє заощадити час на спілкування та підвищити ефективність роботи. Раніше комунікація партнерів проходила через пошту, телефон чи особисті зустрічі.

  2. Автономність та економія грошей. Завдяки смарт контактам, які забезпечують децентралізацію, кошти можуть бути переведені відразу в будь-який необхідний момент. Це економить час, це швидше та дешевше. Ethereum блокчейн служить свого роду фінансовим суб'єктом, що забезпечує відсутність посередників, таких як фінансові чи юридичні установи. Це означає, що немає необхідності йти до банку / юридичної фірми, чекати робочого часу / днів або схвалення з боку банківського персоналу, якщо це необхідно, оплачувати послугу перекладу. Все це іноді може бути досить неприємним.

  3. Впевненість. Блокчейн виступає як безпечне громадське сховище. Це забезпечує прозорість. Будь-хто може перевірити транзакцію та переконатися у її правильності. Усі створені документи зашифровані в одному місці. Це спосіб зберігання, який виключає втрату даних або порушення їх надійності, а також зміна публічноі адреси смарт-контракту.

  4. Бекап. Система виключає втрату облікового запису або запропонованої функції у смарт контракті, оскільки блокчейн дублюється багато разів.

  5. Швидкість. Люди проводять багато годин, збираючи та обробляючи документи, у той час, як одного разу запрограмований додаток робить всю роботу самостійно.
Бажаєте оптимізувати Ваші процеси?
Від ідеї до реальної вартості.
Ми готові допомогти вирішити Ваші завдання
Контакти
+38 (068) 014-97-18
hello@isky.solutions
Проспект Д. Яворницького 111, 49000, Дніпро