Auction Doge(ソラナNFTオークション)プロジェクト解説
概要
このリポジトリは「Tomb-Auction」と呼ばれるNFTオークションの実装を含むプロジェクトです。ユーザーが入札を行い、最高入札者(Winner)がNFTを受け取る仕組みを想定しています。実行は主にTypeScriptベースで、CLIスクリプト(/cli/script.ts)が主要な役割を担い、プログラムのアカウント型は/cli/types.tsで定義されています。IDLファイルを用いてJSバインディングを容易にしている点が特徴です。ローカルのSolanaウォレット(READMEに示されたパス)を前提としたテスト/実行手順が提供されていますが、スマートコントラクトのRustソースは確認できないため、オンチェーンプログラムは別途用意または既存のものを利用する想定です。
リポジトリの統計情報
- スター数: 4
- フォーク数: 0
- ウォッチャー数: 4
- コミット数: 8
- ファイル数: 4
- メインの言語: TypeScript
主な特徴
- Solana上のNFTオークションを想定したTypeScript実装(CLIとフロントエンドの骨格)。
- IDLを使ったJSバインディングでオンチェーンのアカウント型を扱いやすくしている。
- 実行準備に関する手順(node、yarn、ts-node、Solanaウォレットパス)をREADMEで明示。
- シンプルで開始しやすいが、スマートコントラクト(Rust)ソースは含まれていない点に注意。
技術的なポイント
このプロジェクトはフロントエンド/バックエンドの両側にTypeScriptコードを持ち、Solanaプログラム(オンチェーン)のインタラクションを想定している点が最大の特徴です。IDL(おそらくAnchorのIDL形式)を用いることで、プログラムのアカウント構造やエントリポイントをTypeScript側で安全に扱えるようにし、手作業でのデシリアライズやバイナリ解析の負担を軽減しています。/cli/types.tsにアカウント型が宣言されているため、入札情報やオークション状態の読み書きが型安全に行える設計です。実行は/cli/script.tsをエントリとしてts-nodeで行う想定で、ローカルのSolanaキーペア(READMEに示されたパス)を使ってトランザクションを署名します。注意点として、リポジトリ名に「rust」が含まれるものの、Rustで実装されたSolanaプログラム(オンチェーン側)のソースが含まれていないため、実際のオンチェーンロジックは別リポジトリや事前にデプロイされたプログラムに依存している可能性が高いです。運用面ではキーファイルの管理、ネットワーク(devnet/testnet/mainnet)設定、IDLと実際のプログラムの整合性確保が重要になります。
使い方(READMEに基づく実行手順の補足)
- 前提: node, yarn をインストール。ts-nodeをグローバルにインストールしておく。
- Solanaウォレット(キーファイル)を用意し、テストで参照されるパス(例: /home/fury/.config/solana/id.json)に配置するか、スクリプトを適宜修正。
- 依存関係をインストール: yarn install(package.jsonがある想定)。
- メインスクリプト: /cli/script.ts を ts-node で実行して入札/決着のフローを動かす。
- プログラムのIDLは /cli/raffle…(README抜粋では途中省略)に置かれており、これを用いてTypeScript側のバインディングを生成/利用する想定。
プロジェクトの構成
主要なファイルとディレクトリ:
- .gitignore: file
- README.md: file
- backend: dir
- frontend: dir
(補足)
- /cli/script.ts: メインの操作ロジック(入札、終了処理等)を含む。
- /cli/types.ts: オンチェーンのプログラムアカウント型定義。
- /cli/*.json (IDL想定): IDLファイルでJSバインディング用。
改善点と注意点
- スマートコントラクト(Rust/Achor)ソースが同梱されていないため、開発者は対応するオンチェーンプログラムのソースとデプロイ済みアドレスを確認する必要がある。可能であればリポジトリにプログラムソース(Rust)とデプロイ手順を追加するのが望ましい。
- READMEは基本的な依存関係と実行ファイルを示しているが、ネットワークの切り替え方法、環境変数、IDLとプログラムの整合チェック方法、テストの実行方法(ローカルnet/CI)を追記すると使いやすくなる。
- セキュリティ面では、キーファイルの管理(秘匿化)、署名の自動化、ガス/手数料管理、入札の競合処理や不正入札対策の検討が必要。
まとめ
簡潔に始められるTypeScriptベースのSolana NFTオークション骨格。ただしオンチェーンコードの補完が必要。
リポジトリ情報:
- 名前: auction-doge-rust
- 説明: 説明なし
- スター数: 4
- 言語: TypeScript
- URL: https://github.com/yurii-k49/auction-doge-rust
- オーナー: yurii-k49
- アバター: https://avatars.githubusercontent.com/u/50834641?v=4
READMEの抜粋:
Tomb-Auction
This is the auction project that users made their bids and the highest bidder(winner) will be receive the NFT.
Install Dependencies
- Install
nodeandyarn - Install
ts-nodeas global command - Confirm the solana wallet preparation:
/home/fury/.config/solana/id.jsonin test case
Usage
- Main script source for all functionality is here:
/cli/script.ts - Program account types are declared here:
/cli/types.ts - Idl to make the JS binding easy is here:
/cli/raffle...