ink! サンプル集(ink-examples)

Library

概要

このリポジトリは、ink!(Substrateエコシステム向けのRustベースのスマートコントラクト言語)を学ぶためのサンプル集です。基本的なチュートリアルから実用的なコントラクト例まで幅広く含まれており、コントラクトの定義方法、ストレージ設計、メッセージ呼び出し、イベント発火、テスト、Wasmビルドやデプロイの手順などを実践的に理解できます。新しい例はリリースに合わせて同期される設計で、開発者が自身のSubstrateスマートコントラクト開発にすぐ活用できる構成になっています。(約300字)

GitHub

リポジトリの統計情報

  • スター数: 76
  • フォーク数: 3
  • ウォッチャー数: 76
  • コミット数: 30
  • ファイル数: 44
  • メインの言語: Rust

主な特徴

  • ink!の基本構文やマクロ(#[ink::contract]等)を使った実践的なコントラクト例を収録。
  • Wasmビルドやcargo-contractを用いたビルド/デプロイ手順の参照が可能。
  • テストやCI向けのオフチェーン・ユニットテスト例を含むことでローカル検証をサポート。
  • リリース同期済みの例群で、バージョン互換性が保たれやすい構成。

技術的なポイント

ink!はRustの型安全性と所有権モデルを活かしつつ、Substrate上で動くWasmバイナリとしてコントラクトを提供します。本リポジトリのサンプルは、典型的なコントラクト実装パターン(ストレージ構造体による永続化、#[ink(message)]による外部呼び出し、#[ink(constructor)]での初期化、イベント宣言と発火)を明示します。また、Wasmターゲット(wasm32-unknown-unknown)向けのビルド設定や、cargo-contract等のツールチェーンを使ったビルド/署名/パッケージング手順が想定されているため、ローカルでのビルドからSubstrateノードへのデプロイまでのフローを追いやすい構成です。加えて、テスト面ではRustの標準テストフレームワークとink!のオフチェーン環境を組み合わせたユニットテスト例があり、コントラクトのロジック検証を自動化できます。コードはRustのベストプラクティスに従っており、所有権や借用、エラー処理(Result型)を活用した安全な実装が学べます。最後に、リポジトリはサンプルの同期やリリース配布を念頭に置いた構成で、教育用途やテンプレートとしての再利用に適しています。(約700字)

プロジェクトの構成

主要なファイルとディレクトリ:

  • .gitignore: file
  • .images: dir
  • .rustfmt.toml: file
  • LICENSE: file
  • README.md: file

…他 39 ファイル

まとめ

ink!でのスマートコントラクト学習に最適な実践サンプル集です。(約50字)

リポジトリ情報:

READMEの抜粋:

ink!

This repository contains a set of example contracts for ink!.

Have a look at the different examples to better understand how to use ink! to build your own Substrate smart contracts.

Can I add a new example here?

The content of that folder is synchronized with this repository on new releases.