Skip to content

pavlenkotm/grubby

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

Grubby - Blockchain Smart Contracts Collection

Коллекция рабочих смарт-контрактов на различных языках программирования для разных блокчейн платформ.

Поддерживаемые языки и платформы

1. Solidity (Ethereum, EVM)

Платформа: Ethereum, Polygon, BSC, и другие EVM-совместимые сети Расположение: contracts/solidity/

Контракты:

  • GrubbyToken - ERC20 токен с расширенными возможностями
  • SimpleStorage - Децентрализованное хранилище данных
    • Поддержка gasless-одобрений через EIP-2612 permit в реализации Solidity

2. Vyper (Python-style smart contracts)

Платформа: Ethereum, EVM-совместимые сети Расположение: contracts/vyper/

Контракты на Vyper - безопасная альтернатива Solidity с Python-подобным синтаксисом.

3. Move (Aptos, Sui)

Платформа: Aptos, Sui Расположение: contracts/move/

Move - язык для безопасных смарт-контрактов с акцентом на управление ресурсами.

4. Rust (Solana, NEAR)

Платформа: Solana Расположение: contracts/rust/

Высокопроизводительные контракты на Rust с использованием Anchor Framework.

5. Cairo (StarkNet)

Платформа: StarkNet Расположение: contracts/cairo/

Cairo - язык для масштабируемых приложений на StarkNet с ZK-доказательствами.

6. Ink! (Polkadot / Substrate)

Платформа: Polkadot, Substrate-based chains Расположение: contracts/ink/

Ink! - язык для смарт-контрактов на Rust для экосистемы Polkadot.

7. Clarity (Stacks / Bitcoin L2)

Платформа: Stacks (Bitcoin Layer 2) Расположение: contracts/clarity/

Clarity - decidable язык для смарт-контрактов на Bitcoin Layer 2.

8. Motoko (DFINITY / ICP)

Платформа: Internet Computer (ICP) Расположение: contracts/motoko/

Motoko - специализированный язык для Internet Computer Protocol.

9. Haskell (Cardano)

Платформа: Cardano Расположение: contracts/haskell/

Plutus - язык на базе Haskell для смарт-контрактов Cardano.

10. Go (Cosmos SDK)

Платформа: 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

Общие контракты

Каждая платформа содержит реализацию следующих контрактов:

GrubbyToken

Токен с базовым функционалом:

  • Создание и управление токенами
  • Перевод токенов между адресами
  • Минт и сжигание токенов
  • Управление правами доступа

SimpleStorage

Децентрализованное хранилище данных:

  • Сохранение данных по ключу
  • Получение данных
  • Удаление данных (только автор)
  • Отслеживание ключей пользователя

Компиляция и развертывание

Solidity

# Hardhat
npx hardhat compile

# Foundry
forge build

Vyper

vyper contracts/vyper/GrubbyToken.vy

Move (Aptos)

aptos move compile
aptos move publish

Rust (Solana)

anchor build
anchor deploy

Cairo (StarkNet)

starknet-compile contracts/cairo/grubby_token.cairo
starknet-deploy --contract grubby_token

Ink! (Polkadot)

cargo contract build
cargo contract deploy

Clarity (Stacks)

clarinet check
clarinet deploy

Motoko (Internet Computer)

dfx build
dfx deploy

Haskell (Cardano)

cabal build
cardano-cli transaction build

Go (Cosmos)

go 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: Этот проект создан в образовательных целях и демонстрирует работу со смарт-контрактами на различных блокчейн платформах.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •