Skip to content

Decentralized charity platform leveraging Web3 @SingularityHackathon2025

License

Notifications You must be signed in to change notification settings

mirotvoretts/blockchain-hackathon

Repository files navigation

ChainImpact :: Прозрачная благотворительность на блокчейне

License Solidity JavaScript Python FastAPI Hardhat Ethereum

ChainImpact — это децентрализованная платформа, предназначенная для прозрачного управления благотворительными пожертвованиями. Система построена на основе смарт-контрактов Ethereum и обеспечивает полный контроль над каждым переводом средств — от донора до конечного назначения.

О проекте

Проблема

  • Отсутствие прозрачности в распределении благотворительных средств снижает доверие доноров.

Решение

  • Полная traceability транзакций в блокчейне
  • Децентрализованное управление через смарт-контракты
  • Веб-интерфейс для доноров и организаций

Технологии

Компонент Технологии
Блокчейн Ethereum (Sepolia Testnet)
Смарт-контракты Solidity, Hardhat
Бэкенд Python (FastAPI)
Фронтенд JavaScript
Инструменты MetaMask, Ethers.js, Web3.py

Быстрый старт

Для запуска нашего проекта локально мы используем докер. После того как склонировали репозиторий, запускаем контейнеры:

sudo docker-compose -f docker-compose.yaml up --build

Warning

Не забудьте отредактировать .env

Фронтенд и бэкенд уже запущены, проверить можно по этому адресу http://localhost:5500/. Локальный блокчейн также развернут, можете в терминале увидеть тестовые адреса с балансом


Теперь настроим наши смарт-контракты, для этого откроем второй терминал:

# войдём в контейнер HardHat
docker exec -it hardhat bash 

# деплоим проект
npx hardhat run scripts/deploy.js --network localhost

# первоначальная настройка + демонстрация работы
npx hardhat run scripts/interact.js --network localhost

В терминале должен был отобразиться "Адрес кампании: 0x...". Этот адрес нужно скопировать и подставить в переменную TEST_CONTRACT_ADDRESS в файле src/js/project-details.js

// ! МЕНЯТЬ НУЖНО ЗДЕСЬ 
const TEST_CONTRACT_ADDRESS = '0xCafac3dD18aC6c6e92c921884f9E4176737C052c' 

Caution

По умолчанию все транзакции отправляются в Sepolia, поэтому в браузере в консоль разработчика введём команду await setupLocalEnvironment(), чтобы сайт понял, что мы тестируем локально

Тестирование

Смарт-контракты покрыты тестами. Использовали Foundry. Запуск тестов:

git submodule update --init # инициализируем Foundry
forge test -vvv

Полезные ссылки

Команда "To The Moon"

  • Муравьева Анастасия — фронтенд разработчик
  • Григорьев Владислав — бэкенд разработчик
  • Панов Илья — блокчейн инженер
  • Козлова Елизавета — блокчейн инженер

Участвовали в хакатоне "Singularity x Башня: Блокчейн-разработка 2025"

Лицензия

Проект распространяется под лицензией MIT. Подробности в файле LICENSE

About

Decentralized charity platform leveraging Web3 @SingularityHackathon2025

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •