GEM Smart Contracts
GEM is BelizeChain's smart contract platform: certified ink! contracts, a TypeScript SDK, and the tooling to build and deploy your own.
What's Included
Contracts (ink! 5.1.1)
| Contract | Standard | Purpose |
|---|---|---|
dalla-token | PSP22 | Fungible DALLA token |
beli-nft | PSP34 | Cultural NFTs |
psp37-multi-token | PSP37 | Mixed fungible/non-fungible multi-token |
dex (BelizeX) | AMM | Factory + pair + router (x·y=k) |
simple-dao | Custom | On-chain governance |
faucet | Custom | Testnet token distribution |
access-control | Library | Ownable / RBAC / Pausable patterns |
hello-belizechain | Example | Starter contract |
SDK
npm install @belizechain/gem-sdk
const { GemSDK } = require('@belizechain/gem-sdk');
const sdk = new GemSDK(process.env.BLOCKCHAIN_WS_URL || 'ws://localhost:9944');
await sdk.connect();
The SDK wraps Polkadot.js with typed helpers for contracts, transfers, DEX swaps, and mesh networking.
Documentation Map
- Best Practices — project structure, patterns, optimization
- Quick Reference — commands and SDK snippets
- Security Checklist — pre-deployment audit checklist
- Overview — platform summary
- Deployed contracts — historical deployment addresses
Build and Test
git clone https://github.com/BelizeChain/gem.git
cd gem
cargo contract build --release --manifest-path dalla_token/Cargo.toml
cargo test
Contracts execute inside the runtime via pallet-contracts (runtime index 13) — they are uploaded and instantiated against a running BelizeChain node, not deployed as standalone services.