https://github.com/scio-labs/zink
zink! is a library for developing ink! smart contracts with useful Rust macros that extend functionality and reduce boilerplate code.
https://github.com/scio-labs/zink
alephzero blockchain ink ink-contract ink-language ink-smart-contract polkadot rust substrate
Last synced: 4 months ago
JSON representation
zink! is a library for developing ink! smart contracts with useful Rust macros that extend functionality and reduce boilerplate code.
- Host: GitHub
- URL: https://github.com/scio-labs/zink
- Owner: scio-labs
- License: gpl-3.0
- Created: 2023-10-08T14:31:54.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-11-01T08:08:57.000Z (over 1 year ago)
- Last Synced: 2024-12-30T10:46:06.926Z (4 months ago)
- Topics: alephzero, blockchain, ink, ink-contract, ink-language, ink-smart-contract, polkadot, rust, substrate
- Language: Rust
- Homepage:
- Size: 1.82 MB
- Stars: 7
- Watchers: 4
- Forks: 2
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

# zink! Smart Contract Macros
[](https://www.gnu.org/licenses/gpl-3.0)
[](https://use.ink)
This is a helper library for developing ink! smart contracts. It contains useful Rust macros that extend functionality and reduce boilerplate code.
The project is part of a [Scio Labs](https://scio.xyz) initiative to improve the developer experience in the ink! ecosystem. Other projects include:
- `create-ink-app` CLI (_Coming soon_)
- [`ink!athon`](https://github.com/scio-labs/inkathon) Boilerplate
- [`useInkathon`](https://github.com/scio-labs/use-inkathon) Hooks & Utility Library
- [`zink!`](https://github.com/scio-labs/zink) Smart Contract Macros**Join the discussion in our [Telegram Group](https://t.me/inkathon)** 💬
## Macros
> [!NOTE]
> This library still has a very limited scope, please submit an issue to suggest new modules or get help.| Macros | Description | Audited |
| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
| `Ownable2Step` | This module provides a two-step ownership transfer mechanism. It includes methods for getting the current and pending admin, transferring ownership, and accepting ownership. The ownership transfer is not immediate but requires the new owner to accept the ownership. This adds an extra layer of security to the contract. | ✅ |
| `Upgradable` | This module provides a mechanism for upgrading the contract. It includes a method for setting a new code hash, effectively upgrading the contract to a new version. This is useful for contracts that may need to be updated or fixed after they have been deployed. | ✅ |