Коллекция рабочих смарт-контрактов на различных языках программирования для разных блокчейн платформ.
Платформа: Ethereum, Polygon, BSC, и другие EVM-совместимые сети
Расположение: contracts/solidity/
Контракты:
- GrubbyToken - ERC20 токен с расширенными возможностями
- SimpleStorage - Децентрализованное хранилище данных
- Поддержка gasless-одобрений через EIP-2612 permit в реализации Solidity
Платформа: Ethereum, EVM-совместимые сети
Расположение: contracts/vyper/
Контракты на Vyper - безопасная альтернатива Solidity с Python-подобным синтаксисом.
Платформа: Aptos, Sui
Расположение: contracts/move/
Move - язык для безопасных смарт-контрактов с акцентом на управление ресурсами.
Платформа: Solana
Расположение: contracts/rust/
Высокопроизводительные контракты на Rust с использованием Anchor Framework.
Платформа: StarkNet
Расположение: contracts/cairo/
Cairo - язык для масштабируемых приложений на StarkNet с ZK-доказательствами.
Платформа: Polkadot, Substrate-based chains
Расположение: contracts/ink/
Ink! - язык для смарт-контрактов на Rust для экосистемы Polkadot.
Платформа: Stacks (Bitcoin Layer 2)
Расположение: contracts/clarity/
Clarity - decidable язык для смарт-контрактов на Bitcoin Layer 2.
Платформа: Internet Computer (ICP)
Расположение: contracts/motoko/
Motoko - специализированный язык для Internet Computer Protocol.
Платформа: Cardano
Расположение: contracts/haskell/
Plutus - язык на базе Haskell для смарт-контрактов Cardano.
Платформа: Cosmos, все Cosmos SDK chains
Расположение: contracts/go/
Go-модули для создания приложений на Cosmos SDK.
grubby/
├── contracts/
│ ├── solidity/ # Ethereum, EVM
│ ├── vyper/ # Python-style contracts
│ ├── move/ # Aptos, Sui
│ ├── rust/ # Solana, NEAR
│ ├── cairo/ # StarkNet
│ ├── ink/ # Polkadot
│ ├── clarity/ # Stacks
│ ├── motoko/ # Internet Computer
│ ├── haskell/ # Cardano
│ └── go/ # Cosmos SDK
└── README.md
Каждая платформа содержит реализацию следующих контрактов:
Токен с базовым функционалом:
- Создание и управление токенами
- Перевод токенов между адресами
- Минт и сжигание токенов
- Управление правами доступа
Децентрализованное хранилище данных:
- Сохранение данных по ключу
- Получение данных
- Удаление данных (только автор)
- Отслеживание ключей пользователя
# Hardhat
npx hardhat compile
# Foundry
forge buildvyper contracts/vyper/GrubbyToken.vyaptos move compile
aptos move publishanchor build
anchor deploystarknet-compile contracts/cairo/grubby_token.cairo
starknet-deploy --contract grubby_tokencargo contract build
cargo contract deployclarinet check
clarinet deploydfx build
dfx deploycabal build
cardano-cli transaction buildgo build
# Интеграция в Cosmos SDK приложениеВсе контракты протестированы и готовы к использованию в тестовых сетях.
- Ethereum: Sepolia, Goerli
- Aptos: Testnet, Devnet
- Solana: Devnet, Testnet
- StarkNet: Testnet
- Polkadot: Westend, Rococo
- Stacks: Testnet
- ICP: Local replica
- Cardano: Testnet
- Cosmos: Local testnet
Для каждого языка требуются соответствующие инструменты разработки:
- Solidity: Node.js, Hardhat/Foundry
- Vyper: Python 3.8+, Vyper compiler
- Move: Aptos CLI
- Rust: Rust toolchain, Anchor Framework
- Cairo: Cairo compiler, Starknet CLI
- Ink!: Rust, cargo-contract
- Clarity: Clarinet
- Motoko: DFINITY Canister SDK (dfx)
- Haskell: GHC, Cabal, Plutus
- Go: Go 1.19+, Cosmos SDK
Все контракты реализуют базовые проверки безопасности:
- Проверка прав доступа
- Валидация входных данных
- Защита от переполнения
- Проверка балансов
Перед использованием в production рекомендуется провести профессиональный аудит.
Каждая платформа имеет свои особенности взаимодействия с контрактами. См. документацию в соответствующих папках для примеров использования.
MIT
Для вопросов и предложений создайте issue в репозитории.
Note: Этот проект создан в образовательных целях и демонстрирует работу со смарт-контрактами на различных блокчейн платформах.