tino — 分散型フォーラム(Aptos + Shelby)

Web

概要

Tinoは「分散化された掲示板/ミニSNS」を目指したフロントエンド中心のリポジトリです。ユーザーがAptosチェーンのウォレットで認証し、投稿本文やメディアはShelbyというBlobストレージサービスに保存します。一方で「いいね」「コメント」などの操作はスマートコントラクト上に保存する設計を想定しており、オンチェーンでの記録によって改ざん耐性を高めます。ネットワークはテストネットを前提としており、開発・デモ用途に適した構成です。コントラクトアドレスが未設定の場合はローカルストレージで動作するデモモードにフォールバックするため、フルチェーン運用前でも機能を試せます。(約300字)

GitHub

リポジトリの統計情報

  • スター数: 1
  • フォーク数: 0
  • ウォッチャー数: 1
  • コミット数: 3
  • ファイル数: 12
  • メインの言語: TypeScript

主な特徴

  • Aptosウォレット(Petra 等)でのサインイン対応
  • 投稿コンテンツをShelbyにBlobとしてアップロード
  • いいね/コメントはコントラクト上(オンチェーン)を想定
  • コントラクト未設定時はlocalStorage+Shelbyで動作するデモモード

技術的なポイント

Tinoの技術的核は「オンチェーンでの操作(メタ操作)とオフチェーン/分散ストレージの組合せ」にあります。本文や大きめのメディアをチェーンに直接置くのではなく、ShelbyのBlobストレージに保存して、その参照(URIやハッシュ)をチェーン上のトランザクションやローカル状態で管理する構成です。これによりガスコストを抑えつつ、コンテンツの可用性・検証性をある程度担保できます。Aptosとの接続はPetraなどのウォレットを利用した署名ベースの認証を採用しており、ユーザー操作はウォレットの承認フローを通じて実行されます。READMEからはアプリがテストネット前提で動作すること、そしてコントラクトが未配備でもUI・投稿機能を試験可能なデモモードが実装されていることが確認できます。フロントエンドはTypeScriptで実装され、.env.exampleなどの設定ファイルを用いてShelbyのエンドポイントやコントラクトアドレスを注入する想定です。拡張点としては、コンテンツ永続化のためのピニング戦略(Shelbyの保持保証確認やIPFSピンニング)、オンチェーンスキーマ(Moveコントラクト)の明文化、トランザクション失敗時のリトライ・UIの堅牢化、セキュリティ(署名の検証、CORS・XSS対策)などが挙げられます。デプロイフローやテストが少ないため、本格的な運用前にはスマートコントラクトの監査・CI整備・バックアップ戦略の検討が必要です。(約700字)

プロジェクトの構成

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

  • .env.example: file
  • .gitignore: file
  • GETTING_STARTED.md: file
  • README.md: file
  • index.html: file

…他 7 ファイル

まとめ

TinoはAptosとShelbyを組み合わせた分散型SNSの軽量プロトタイプで、実験や学習に適した構成です。(約50字)

リポジトリ情報:

READMEの抜粋:

Tino – Decentralized Social Media

Twitter-style posts, likes and comments using Shelby (blob storage) and Aptos (wallet + contract).

Features

  • Aptos wallet sign-in (Petra, etc.)
  • Post sharing: Content is uploaded to Shelby as blobs
  • Likes and comments: Stored on-chain when the contract is deployed
  • Demo mode: If no contract address is set, only posts work (localStorage + Shelby)

Network: The app runs on testnet. Both Aptos and Shelby use testnet (Shelby t…