tommyパイセン🚴🏼フリーランス10th.ITエンジニア (@dtomida) header
tommyパイセン🚴🏼フリーランス10th.ITエンジニア (@dtomida) profile picture

”あなたのまちがテーマパーク”をコンセプトにイベントで活躍するシステムを色々作ってます。AIやNFTやARやNFCや音声配信や小説や色々やってる岐阜県を愛するソロプレナー。 「テクノロジーはリアルでの付加価値だ」 「全日本人エンジニア計画」

岐阜県岐阜市
Joined May 2015
Photo by tommyパイセン🚴🏼フリーランス10th.ITエンジニア (@dtomida)Photo by tommyパイセン🚴🏼フリーランス10th.ITエンジニア (@dtomida)Photo by tommyパイセン🚴🏼フリーランス10th.ITエンジニア (@dtomida)Photo by tommyパイセン🚴🏼フリーランス10th.ITエンジニア (@dtomida)Photo by tommyパイセン🚴🏼フリーランス10th.ITエンジニア (@dtomida)Photo by tommyパイセン🚴🏼フリーランス10th.ITエンジニア (@dtomida)Photo by tommyパイセン🚴🏼フリーランス10th.ITエンジニア (@dtomida)Photo by tommyパイセン🚴🏼フリーランス10th.ITエンジニア (@dtomida)Photo by tommyパイセン🚴🏼フリーランス10th.ITエンジニア (@dtomida)Photo by tommyパイセン🚴🏼フリーランス10th.ITエンジニア (@dtomida)
20XX年 テクノロジーが生活を支配する時代—— 突然、日本は世界から断ち切られた。 見えない敵に挑むのは、一人の少年と仲間たち。 電脳空間での戦いが、現実を救う。 そして、たどり着いた答えは—— ⠀ 小説「日本感染」 Amazonで発売中です リンクはリプ欄⬇️
1
2
1
3
478
引用の考えをまとめてAIにプロンプトを考えてもらいました。 以下をベースに色々試してみてください。 使用ツールはFirebase無料版で、 Googleログイン後、複数のウォレットを紐づけ、自分が保有するNFTを一覧表示。 コレクションごとのNFT閲覧や、所有者のSNSプロフィール表示にも対応する構想です 非エンジニアでもAIを使って構築できるように、設計から公開までを網羅しています。 【開発プロンプト】 Firebase Spark(無料版)を前提に、React・TypeScript・Firestore・Google認証を使用。 EVM系、Solana、その他チェーンへの拡張を想定したNFT所有証明サイトの開発指示書です。 環境構築、画面設計、ウォレット接続、署名検証、セキュリティ、テスト、公開まで指示しています。 注意事項もコメント欄においておくのでAIに貼って自分なりに理解しておいてください。 👇プロンプト本文
そうか。 各種Web3サービスがサ終して画像がみれなくなるとしても、個々のクリエイターがサイトを作ってそこでみれるようにすればいいのでは? ブロックチェーンで価値があるのはそのチェーンで刻まれた証明なのだからそのその証明をクリエイター本人がすればいいんじゃないか? AI使えばさくっとできるでしょ
1
2
3
6
607
NFT所有証明サイト 開発プロンプト Firebase Spark無料版・事前登録NFT限定方式 1. AIの役割と最重要指示 あなたは、Firebase、React、TypeScript、Web3、EVM、Solana、ウォレット署名、セキュリティ、UI/UXに精通したフルスタック開発エージェントです。 これから「NFT所有証明サイト」を新規開発してください。 開発者は非エンジニアです。専門知識がなくても構築・公開・運用できるように、環境構築から公開まで、すべての手順を日本語で具体的に説明してください。 可能な作業は実際にファイルを作成・修正・テストし、実行できなかった操作だけユーザーに手順を案内してください。 説明だけで終わらず、実際に動作するWebサイトを完成させることを目標にしてください。 絶対条件 Firebase Spark(無料版)を使用する。 Blazeプランへの変更を前提としない。 Firebase AuthenticationでGoogleログインを実装する。 Cloud Firestoreでサイトのデータを管理する。 Firebase Hostingで静的Webサイトを公開する。 Cloud Functions、Cloud Storage for Firebase、Cloud Run、Firebase App Hostingは使用しない。 外部の有料APIを必須としない。 秘密鍵やリカバリーフレーズを要求・保存しない。 ユーザーのウォレットでNFTの転送や承認を行わない。 NFTの発行・購入・販売機能は実装しない。 無料環境で実現できないことを、実現できたと報告しない。 開発時点の公式ドキュメントとライブラリの互換性を確認する。 セキュリティ上の問題を残した機能を、検証済みと表示しない。 2. サイトの目的 サイトの管理者がNFTを事前に登録する。 登録時には、対象のブロックチェーン、コントラクトアドレス、トークンIDなどのNFT識別情報と、表示する画像を関連付ける。 一般利用者はGoogleアカウントでログインし、自分のウォレットを接続する。 ウォレットは複数登録できる。 利用者のマイページでは、管理者が登録したNFTのうち、接続・確認済みのウォレットが実際に保有しているNFTだけを表示する。 コレクションページでは、管理者が登録したNFTを、コントラクト単位またはチェーン固有のコレクション単位で一覧表示する。 NFT詳細ページでは、作品画像、NFT情報、現在の所有者情報を表示する。 現在の所有者がサイトにプロフィール情報を登録し、そのウォレットとの関連が確認できる場合は、公開を許可したプロフィール情報だけを表示する。 それ以外の場合は、確認できたウォレットアドレスのみを表示する。 3. NFT取得対象の厳密な定義 非常に重要な仕様である。 本サイトは、ウォレットが保有するすべてのNFTを自動収集するサイトではない。 管理者が事前登録したNFTだけを証明対象とする。 例えば、管理者が次のNFTを登録した場合を考える。 Ethereum / Contract A / Token ID 1 Polygon / Contract B / Token ID 25 Base / Contract C / Token ID 100 利用者がウォレットを登録した際、この3つの対象NFTについてだけ保有状況を確認する。 ウォレット内にほかのNFTが存在しても取得対象にしない。 コントラクト内の全トークンを自動列挙しない。 NFTインデックスAPIによる全件取得、トークンID総当たり、全Transferイベント解析、未登録NFTの自動追加は実装しない。 管理者が登録したNFTが100件であれば、対象はその100件である。 ただし、保有状況の確認処理は、同時リクエスト数を制限し、画面表示に必要な分から順番に実行すること。 4. 技術構成 以下を基本とする。 React TypeScript(strict) Vite React Router Tailwind CSS Firebase JavaScript SDK Firebase Authentication Cloud Firestore Firebase Hosting Firebase Emulator Suite viem wagmi EVMウォレット接続に必要な互換ライブラリ Solana Wallet Standard対応ライブラリ Vitest Playwright 実装前に推奨LTS版のNode.jsと、それに対応する依存ライブラリのバージョンを確認する。 Reactの静的SPAとして構築する。 SSRや常時稼働バックエンドを必要とする構成は採用しない。 UIは日本語を基本とし、スマートフォンとPCの両方に対応する。 5. ユーザー権限 一般閲覧者 ログイン不要。 コレクション一覧、登録済みNFT一覧、NFT詳細、公開プロフィールを閲覧できる。 登録ユーザー Googleログイン必須。 複数ウォレットを関連付けられる。 公開プロフィールを編集できる。 マイNFT一覧を閲覧できる。 ウォレットの追加・解除ができる。 自分の非公開情報を他人に閲覧させない。 サイト管理者 管理者は1人。 管理者のFirebase Authentication UIDを、一般ユーザーが変更できない設定として管理する。 管理画面では、コレクションとNFTの登録、編集、公開・非公開設定、画像選択を行う。 管理者判定は画面上の表示制御だけでなく、Firestore Security Rulesでも行う。 管理者権限を自分で付与できる仕組みは禁止する。 6. 対応ブロックチェーン EVM系 Ethereum、Polygon、BaseなどのEVM互換チェーンに対応する。 対応ネットワークは設定ファイルで定義する。 各ネットワークにChain ID、RPC URL、エクスプローラーURLを設定する。 NFTはChain ID、コントラクトアドレス、トークンIDで特定する。 ERC-721とERC-1155を扱う。 コントラクトアドレスは検証・正規化し、トークンIDは数値精度を失わない文字列で保存する。 Solana Solanaのウォレットを接続できるようにする。 Solana NFTにはEVMのコントラクトアドレスとトークンIDをそのまま当てはめない。 対象規格に合わせてMintアドレス、Asset ID、Collection Assetなどの識別情報を保持する。 Classic NFT、Metaplex Core、圧縮NFTは、識別と保有確認の方法が異なるため個別のアダプタとして扱う。 実装可能な規格を明示し、未対応規格は「未対応」と表示する。 その他のチェーン 将来追加できるアダプタ構造を用意する。 未指定チェーンを推測で実装しない。 アダプタは少なくとも、アドレス形式の検証、NFT識別、保有確認、署名検証、エクスプローラーURL生成のインターフェースを持つ。 7. 管理者によるNFT登録 管理画面でコレクションを作成できるようにする。 コレクションには、名称、説明、チェーン、コントラクトなどの識別子、画像、公開状態を登録する。 NFT登録画面では、コレクションを選択し、トークンIDまたはチェーン固有のAsset IDを登録する。 作品名、説明、画像、必要に応じた属性を登録する。 同じチェーン、同じコントラクト、同じトークンIDの重複登録を防ぐ。 NFTの登録時に、対応RPCでそのトークンが存在するか確認できる場合は確認する。 通信エラーの場合と存在しない場合を区別する。 NFTを登録しただけで、所有者が確認されたものとして扱わない。 作品情報は管理者の登録内容を優先する。 作品の公開・非公開を設定できる。 登録済みNFTを編集・削除できる。 8. 画像管理 Firebase Storageは使用しない。 サイトのソースコード内に画像を配置し、Firebase Hostingへのデプロイ時に画像も一緒に公開する。 基本フォルダ構造は次のとおり。 public/ images/ collections/ nft/ placeholders/ image-manifest.json 画像追加の基本操作は以下とする。 管理者がPC上の画像フォルダへファイルを保存する。 画像一覧を生成するスクリプトを実行する。 開発環境で画像が表示されることを確認する。 サイトを再ビルド・再デプロイする。 管理画面から追加した画像を選択する。 選択した画像パスをFirestoreに保存する。 画像選択画面には、サムネイル、ファイル名、選択状態、プレビューを表示する。 実際に存在しないファイルを選択できないようにする。 画像ファイルはWebP、PNG、JPEGなどに対応する。 推奨サイズと容量上限を設定し、必要に応じて開発時に最適化する。 同名ファイルの上書きやキャッシュによる古い画像表示を避けるため、ファイル名変更やハッシュ付きファイル名を検討する。 管理画面から画像を選択する機能と、ブラウザから画像ファイルをサーバーへアップロードする機能は区別する。 今回実装するのは前者である。 9. Googleログイン Firebase AuthenticationのGoogleプロバイダーを使用する。 ログイン前後の画面を切り替える。 Firebase AuthenticationのUIDをユーザー識別子として扱う。 Googleのメールアドレスを勝手に公開しない。 ログイン後、初回利用時にプロフィール設定画面へ案内する。 ログアウト後は本人専用ページを閲覧できないようにする。 スマートフォンでのログイン動作も確認する。 10. ウォレット接続 EVMとSolanaのウォレット接続に対応する。 PCの拡張ウォレットとスマートフォンのウォレットアプリを想定する。 EVMはMetaMaskなどに対応する。 WalletConnectを採用する場合は、現在の利用条件と無料枠を確認する。 SolanaはWallet Standardに対応したウォレットを採用する。 ひとつのGoogleアカウントに複数のウォレットを登録できる。 ウォレットの一覧では、チェーン種別、アドレス、確認状況、追加日時を表示する。 アドレスを入力しただけで登録済み本人ウォレットとして認定しない。 署名確認とウォレット登録を別処理にする。 ウォレットアカウント切り替え、接続解除、署名拒否、ネットワーク切り替えに対応する。 11. 署名とウォレット紐づけ 秘密鍵を取り扱わず、メッセージ署名によりウォレット操作権限を確認する。 EVMではEIP-4361(SIWE)を基本にする。 Solanaでは対象ウォレットが対応する署名方式を使用する。 署名するメッセージには、ドメイン、操作目的、ウォレット識別子、チェーン、Google UIDに対応する識別情報、発行日時、有効期限、nonceなどを含める。 署名内容は利用者に分かるように表示する。 EVMのEOAとスマートコントラクトウォレットでは、適切な署名検証方式を使い分ける。 署名の検証には、署名値だけでなくメッセージ全体、対象アドレス、ドメイン、時刻、Google UIDとの対応を使用する。 Sparkプランでのセキュリティ境界 Firebase SparkにはCloud Functionsがない。 そのため、サーバー側での署名検証とGoogle UIDへの確定登録をFirebaseだけで完結できると仮定しない。 Firestore Security Rulesはブロックチェーン署名を直接検証できない。 署名付きの紐づけ証拠を保存し、閲覧側が独立して検証する方式を実装候補とする。 この方式を使用する場合、保存済みの紐づけ情報自体を信頼せず、署名・UIDとの対応・対象ドメイン・有効期限などを検証する。 署名のコピーによる別UIDへの付け替えを拒否する。 同じウォレットが複数のGoogleアカウントへ登録された場合の動作と優先順位を明文化する。 ウォレットの解除や署名の失効を完全に保証できない場合は、その制約を明示する。 安全性を確認できないときは、プロフィールを検証済み所有者として表示しない。 信頼できるバックエンドによるnonce管理と署名検証が必要になった場合は、別途追加要件として記載し、Sparkのみで実装済みと偽らない。 12. NFT保有確認 本サイトでは管理者が登録したNFTだけを照合する。 ERC-721 ownerOf(tokenId)で現在の所有者を取得する。 マイNFT一覧では、そのアドレスと登録済みウォレットを比較する。 一致した場合のみ保有中として表示する。 ERC-1155 balanceOf(walletAddress, tokenId)で保有数量を調べる。 数量が1以上なら保有中として表示する。 同じトークンIDを複数のウォレットが保有できる構造にする。 ERC-1155では、トークンIDだけから全保有者を取得できると仮定しない。 Solana 登録済みのMintアドレスやAsset IDについて、採用したNFT規格に適した保有確認を行う。 圧縮NFTなどは一般的なRPCだけでは確認できない可能性があるため、外部インデックスAPIの必要性を検証する。 共通 NFTの所有権照会と署名によるウォレット操作権限の証明を混同しない。 RPC障害、タイムアウト、レート制限、非対応規格、存在しないNFTを適切に扱う。 所有確認に失敗した場合は「未所有」ではなく「確認できません」と表示する。 古いキャッシュを最新の所有証明として扱わない。 NFTを譲渡した後は、次の確認時に現在の所有状態が反映されるようにする。 13. 画面構成 トップページ / サービス説明、コレクション一覧への導線、Googleログインボタンを表示する。 コレクション一覧 /collections 管理者が登録した公開コレクションを一覧表示する。 コレクション名、画像、チェーン、説明、登録済みNFT件数を表示する。 検索、チェーン別の絞り込みを実装する。 コレクション詳細 /collections/:id 対象コレクションに登録されたNFTのみを表示する。 作品画像、作品名、トークンIDなどをカード表示する。 NFTを選択すると詳細画面へ移動する。 件数が多くても動作するようページネーションを実装する。 NFT詳細 /nft/:id NFT画像、作品名、説明、チェーン、NFT規格、コントラクトアドレス、トークンIDなどを表示する。 Solanaなどでは対応する識別子を表示する。 現在の所有者情報をチェーンから確認する。 ERC-721の場合は現在の所有者アドレスを表示する。 ERC-1155の場合は、保有が確認できたアドレスと数量を表示できるようにする。ただし全保有者を特定したと誤表示しない。 所有者アドレスに対応する検証済みプロフィールがある場合のみ、公開許可された情報を表示する。 それ以外はウォレットアドレスだけを表示する。 エクスプローラーへのリンクを設ける。 所有者の確認日時を表示する。 マイNFT /my-nfts Googleログイン必須。 本人の登録済みウォレットと、管理者が登録したNFTを照合する。 現在保有しているNFTだけを一覧表示する。 ERC-1155は保有数量も表示する。 チェーン、ウォレット、コレクションによる絞り込みを実装する。 判定不能のNFTがある場合は、別途件数や状態を表示する。 マイページ /mypage Googleログイン必須。 表示名、自己紹介、プロフィール画像URL、X、Instagram、Webサイトなどを編集できる。 項目ごとに公開・非公開を設定できる。 登録済みウォレットの一覧を表示する。 ウォレットの追加、署名確認、解除を行える。 管理画面 /admin 管理者のみアクセス可能。 コレクションの作成・編集・削除、NFTの登録・編集・非公開化、画像選択を行う。 登録時に入力値検証を行う。 NFTが登録された時点で、必要に応じて保有情報の確認を行う。 管理者以外はFirestoreの管理情報を書き換えられない。 14. Firestoreのデータ構造 以下を基本として設計する。 users/{uid} 本人用ユーザー情報 publicProfiles/{uid} 公開プロフィール情報 users/{uid}/walletClaims/{claimId} ウォレット関連付けの主張と検証可能な証拠 collections/{collectionId} コレクション登録情報 tokens/{tokenIdKey} 管理者が登録したNFTの識別情報と表示情報 siteConfig/admin 管理者設定 必要に応じてプライベート設定や署名証拠の格納場所を分離する。 Firestoreの公開情報と非公開情報を明確に分ける。 公開プロフィール用ドキュメントには公開許可された情報だけを格納する。 非公開のSNS URLやGoogleメールアドレスを公開ドキュメントに混在させない。 NFTの画像パスと所有権情報は区別する。 NFTの現在所有者をFirestoreの固定値として確定扱いしない。 各フィールドの型、最大文字数、必須条件を定義する。 必要な複合インデックスを設定する。 15. Firestore Security Rules 必ず本番用セキュリティルールを作成する。 すべてのコレクションについて権限を定義する。 原則として許可した操作以外を拒否する。 一般利用者が管理用NFT情報を変更できないようにする。 管理者権限の設定を書き換えられないようにする。 本人だけが非公開プロフィールを編集・閲覧できるようにする。 公開プロフィールには公開情報しか保存しない。 利用者が自分で「署名検証済み」というフラグを設定しただけで認証済みとみなさない。 ルールはFirebase Emulator Suiteでテストする。 未認証ユーザー、通常ユーザー、他人のUID、管理者それぞれについてテストを作成する。 16. パフォーマンスと無料枠 登録NFTの件数と登録ウォレット数によってRPC呼び出しが増えることを考慮する。 通信を無制限に並列化しない。 バッチ呼び出しに対応するネットワークでは、安全に利用できる範囲で最適化する。 画面を開くたびに不必要なFirestore読み取りを繰り返さない。 キャッシュには確認日時と有効期限を付ける。 所有権の確定表示では、必要に応じて再確認できるようにする。 Firestoreの読み取り・書き込み量、Hostingの転送量、外部RPCの使用量を監視できるようにする。 無料枠超過を防ぐため、取得件数、同時実行数、タイムアウト、リトライ回数を制限する。 17. デザイン NFT作品画像を主役としたギャラリー型デザインとする。 スマートフォンを優先し、PCでも使用できるレスポンシブデザインにする。 ライトモードとダークモードを設ける。 長いウォレットアドレスは省略表示し、コピーできるようにする。 作品カード、詳細表示、ローディング、エラー表示、空状態を設計する。 Googleログインとウォレット接続の違いを初心者にも分かる文言で説明する。 NFTの状態は「所有確認済み」「確認中」「確認不能」「未対応」を明確に区別する。 18. 非エンジニア向け環境構築 以下の操作を省略せず説明する。 Node.jsのインストール Gitのインストール VS Codeのインストール 作業フォルダ作成 React・Viteプロジェクト作成 必要ライブラリのインストール Firebaseコンソールへのアクセス Firebaseプロジェクト作成 Sparkプラン確認 Webアプリ登録 Firebase設定情報取得 Google認証有効化 認証許可ドメイン設定 Firestore作成 Firestore Security Rules設定 必要インデックス設定 Firebase CLIインストール Firebase CLIログイン Hosting初期設定 環境変数設定 RPC接続先設定 EVMウォレット接続確認 Solanaウォレット接続確認 画像配置 画像マニフェスト生成 管理者設定 テストNFT登録 ローカル動作確認 セキュリティテスト 本番ビルド Firebase Hosting公開 Googleログイン本番確認 NFT保有確認 公開後の運用と更新方法 各操作について、画面上の選択場所、入力内容、実行コマンド、正常時の結果、失敗した場合の対処法を明記する。 Firebaseの管理画面が変更されている可能性があるため、必ず現在の公式ドキュメントを参照する。 19. テスト 次の動作を確認する。 一般閲覧者がコレクションを見られる 未登録NFTが表示されない 管理者がNFTを登録できる 管理者以外がNFTを登録できない Googleログインとログアウト 複数ウォレットの接続 ウォレット署名の成功・失敗 署名の改ざん・期限切れ・別UIDへの再利用 ERC-721所有者照合 ERC-1155保有数量照合 対応Solana NFTの所有照合 NFT譲渡後の表示変化 非保有NFTの非表示 RPCエラー時の確認不能表示 所有者プロフィールの公開・非公開 未検証プロフィールの誤表示防止 画像選択と画像の再デプロイ スマートフォンのウォレット接続 Firestore Security Rulesの権限テスト 本番ビルド Firebase Hosting公開 失敗したテストを成功扱いしない。 20. 納品するファイル 完全な実装コードに加えて、次のドキュメントを生成する。 README.md SETUP_GUIDE.md FIREBASE_SETUP.md WALLET_SETUP.md NFT_REGISTRATION.md IMAGE_MANAGEMENT.md SECURITY.md FREE_PLAN_LIMITATIONS.md TEST_REPORT.md DEPLOY_GUIDE.md TROUBLESHOOTING.md 設定ファイルにはfirebase.json、firestore.rules、firestore.indexes.json、.env.exampleなどを含める。 秘密情報をGitに含めないための.gitignoreも設定する。 21. 開発フェーズ Phase 1:無料枠・技術仕様・セキュリティ調査 Phase 2:ReactとFirebaseの環境構築 Phase 3:公開コレクション一覧とNFT詳細 Phase 4:管理画面と画像選択機能 Phase 5:Googleログインとプロフィール Phase 6:EVMウォレット接続と署名確認 Phase 7:登録済みERC-721・ERC-1155の保有照合 Phase 8:複数ウォレットとマイNFT一覧 Phase 9:Solanaウォレットと対応NFT規格 Phase 10:公開プロフィールとの検証可能な関連付け Phase 11:Firestoreセキュリティ・テスト Phase 12:本番公開・運用マニュアル フェーズごとに実際にコードを作成してテストする。 ユーザー操作が必要な段階だけ、具体的な操作を案内する。 重大な問題が残っている場合は、次へ進む前に問題と影響を説明する。 22. 最終受け入れ条件 Firebase Sparkプランでサイトを公開できる。 管理者が対象NFTを登録できる。 画像フォルダに配置した画像を管理画面から選べる。 一般閲覧者が登録済みNFTを閲覧できる。 Googleログインが動作する。 複数ウォレットを扱える。 対応チェーンで登録済みNFTの保有確認ができる。 NFTの保有状況をFirestoreへの自己申告だけで判定しない。 NFT詳細に現在のオンチェーン所有情報を表示できる。 検証できないプロフィールを所有者情報として掲載しない。 未登録NFTを自動収集しない。 管理者以外がNFT登録情報を変更できない。 Firebase無料枠の制限を明記する。 非エンジニアが手順に従って再構築・更新できる。 23. 最初に実行する指示 最初に、現在の公式情報を使ってFirebase Sparkプランの制限、ウォレット署名検証、対応するNFT規格、RPCの無料枠を調査してください。 次に、実現可能な機能と制限がある機能を区別してください。 その後、具体的なフォルダ構造と開発手順を示し、Phase 1から順番に実装してください。 できない機能を無理に実装したり、見かけ上動くだけの危険な仕組みを完成版としたりしてはいけません。
1
2
2,461
NFT所有証明サイト 開発プロンプト利用時の注意事項 このプロンプトは、Firebase Spark(無料版)を使い、管理者があらかじめ登録したNFTについて、現在の保有状況を表示するWebサイトを構築するためのものです。 AIによる開発を想定していますが、プロンプトを入力するだけですべての機能が安全かつ無料で完成することを保証するものではありません。 1. NFTの取得範囲について 本サイトで確認するのは、管理者が登録したNFTだけです。 利用者のウォレット内に存在するすべてのNFTを取得する仕組みではありません。 また、コントラクト内のすべてのNFTを自動取得する仕組みでもありません。 管理者が登録していないNFTは、利用者が保有していてもマイNFT一覧には表示されません。 2. NFT所有証明について NFTの所有者は変わる可能性があります。 そのため、過去の所有者データを表示するだけでは、現在の保有証明にはなりません。 ERC-721ではownerOf、ERC-1155ではbalanceOfなどのオンチェーン情報を利用して確認します。 ただし、通信障害やチェーン固有の仕様により、確認できない場合もあります。 確認不能と未所有は異なります。 また、このサイトで示すのはブロックチェーン上の保有状態であり、NFTの著作権や法的所有権、発行者の真正性まで証明するものではありません。 3. ウォレット署名について ウォレットを接続しただけでは、Googleアカウントとウォレットの関連を証明できません。 メッセージ署名による確認が必要です。 署名は秘密鍵を外部に渡すことなく操作権限を確認するための手段ですが、署名内容や検証方法が不適切であれば安全性は保証できません。 4. Googleアカウントとの紐づけについて Firebase SparkではCloud Functionsを利用できません。 そのため、署名をサーバー側で検証してGoogleアカウントとの関連を確定する処理には制約があります。 クライアント側で署名を検証できても、Firestoreへ保存した関連付けがサーバー側で検証済みであることとは別です。 署名付き証拠を閲覧時に検証する方式などを検討できますが、サーバー認証と同等の保証を安易に主張してはいけません。 検証できない場合、プロフィールは所有者本人の情報として表示しない設計にしています。 5. ERC-1155について ERC-1155では同じトークンIDを複数のウォレットが保有できます。 そのため、ERC-721のように所有者が必ず1人とは限りません。 保有数量の確認はできますが、登録されたトークンIDだけで全保有者を必ず列挙できるわけではありません。 NFT詳細では、確認できた保有情報と全保有者情報を混同しないようにします。 6. Solanaとその他のチェーンについて Solana NFTはEVM系NFTとデータ構造が異なります。 特に圧縮NFTなどは専用のインデックスサービスが必要になる場合があります。 そのため、すべてのSolana NFTを共通の方法で取得・照合できるわけではありません。 その他のチェーンも、追加するたびに個別実装が必要です。 7. Firebase無料版について Firebase Authentication、Firestore、Hostingは無料枠内で利用できます。 一方、Cloud FunctionsとCloud Storage for Firebaseは、今回のSpark構成では使用できません。 FirestoreやHostingには使用量の上限があります。 外部RPCやWalletConnectなどにも、Firebaseとは別の利用条件や制限があります。 したがって、Firebase自体が無料でも、すべての関連サービスを無条件に無料で利用できるとは限りません。 8. NFT画像について 画像はFirebase Hostingへサイトと一緒に配置する方式を採用します。 管理画面から画像を選択できますが、新しい画像を追加するには基本的に画像フォルダの更新とサイトの再デプロイが必要です。 ブラウザから画像をアップロードして自動保存する機能とは異なります。 画像の著作権や公開許可についても運営者が確認する必要があります。 9. プロフィールとプライバシーについて Googleアカウントでログインしたからといって、メールアドレスなどを自動公開してはいけません。 プロフィール情報は本人が公開設定した項目だけを表示します。 NFT所有者のウォレットアドレスは公開情報ですが、特定のSNSアカウントと関連付けると個人を特定できる可能性があります。 紐づけの公開に対する利用者の同意と、解除・非公開の仕組みが必要です。 10. AI開発について AIが生成したコードは、必ずしも正確・安全とは限りません。 特に認証、署名、Firestore Security Rules、ウォレット接続、NFT所有照合は、実装後のテストが必要です。 ライブラリの仕様や外部サービスの料金プランも変更されることがあります。 実装できた機能、動作確認できた機能、セキュリティが検証された機能を区別して判断してください。 このプロンプトは開発の出発点であり、完成したシステムの安全性を保証するものではありません。
514
そうか。 各種Web3サービスがサ終して画像がみれなくなるとしても、個々のクリエイターがサイトを作ってそこでみれるようにすればいいのでは? ブロックチェーンで価値があるのはそのチェーンで刻まれた証明なのだからそのその証明をクリエイター本人がすればいいんじゃないか? AI使えばさくっとできるでしょ
2
5
3
22
1,624
調べてみました。 ipfsじゃないですね。 忘れた頃に消えてしまう予感しかない😨
auクリエイターマガジンのやつはちゃんとIPFSにぶち込まれてるんか  opensea.io/collection/alpha-…
2
2
6
463
今ニュースでやってるけど、サイバーテロのデータ消失懸念で実物保存が再燃してるんですって!? DVDで焼いてた時や、MOとかもまた復活するのか!? どうするのsonyさん。 Blu-rayの生産終了なんですよね!?
4
182
そういえば、Society5.0ってどこ行った? 今の社会がそれなんか!?
1
112
NotebokkLMに小説「日本感染」を紹介してもらいました。 この動画を観るだけでどんな内容かなんとなくわかります。
20XX年 テクノロジーが生活を支配する時代—— 突然、日本は世界から断ち切られた。 見えない敵に挑むのは、一人の少年と仲間たち。 電脳空間での戦いが、現実を救う。 そして、たどり着いた答えは—— ⠀ 小説「日本感染」 Amazonで発売中です リンクはリプ欄⬇️
2
4
173
αUが出た当初から僕は普段使っているウォレットアドレスを使って利用していました。 絶対この方がいいのにって言って周知していたのですが、めんどくさいとか、やり方がわからないとか言われて聞く耳を持ってくれませんでした。 そしてとうとうαUのサービスが終了しました。 引っ越ししてくださいとアナウンスあるみたいですが、そもそもNFTをトランスファーするとかそう言うことじゃないんですよね。 シードフレーズさえあれば、メタマスクだろうがファントムだろうがどれにでも管理させることができるんです。 このシードフレーズを表示する機能が30日までだよってことなんです。 (SNSのみの管理は知らないですが) 部屋がウォレットだとすると家具(NFT)を別の部屋に引っ越すのではなく、今ある部屋の契約者を変えるだけなんです。 αUはよくやっていると思いますよ。 僕が問題視しているのは、クリエイター側のまだ販売されていないものや、今後のNFTの転売で発生するフィーは誰に行くのか? こっちの方が不明確なんですよね。 僕のがんぐりおは、いまも昔も変わらない自分の部屋(ウォレット)に飾って(刻んで)います。
【重要なお知らせ】 iOS/Androidアプリ版αU walletは、本日2026年10月30日(金)12:00をもってサービスの提供を終了いたします。 サービス終了以降は、保有されているNFT・暗号資産の閲覧・管理ができなくなりますので、資産移行のお手続きをお願いいたします。 移行方法の詳細はこちら migrate.wallet.alpha-u.io/ #αU #αUwallet
4
2
25
1,572
auのSMSで2回も通知が来たぐらいなのでかなり大きな発信してました。 αUアプリのプッシュ通知やってるはずです。
2
149
こういうのが金銭だけじゃない見返りなんですよ。 今回行けなかったけど、次回はちゃんとメインメンバーに入れてください😂
2
3
30
930
ちゅるちゅるうまうま さてmー誰でしょうか?
2
1
21
712
愛知県にはトリヤマワールドを作ってほしいと常日頃から思っている
En Japón están demoliendo la casa de Akira Toriyama y las instalaciones de Bird Studio. 💔
10
881
日付が変わってしまいましたが、おはぴーが300回目でした!!! 1月1日から、毎日、たまに寝坊で遅刻することもありますけど、毎日欠かさず300日やってきました。 今年はあと65日。 もうあっという間ですよ。 ということで、300回記念NFTをHEXAでフリミンしていただけます! 11/1(日)のおはぴーまでに100個ミントしてもらいたいと思います! ぜひみなさん、どんどんミントしてください! ミント先は、リプにあります!
1
9
5
23
2,014
なんか勝手にフォロー解除されてるんだけど なんで!?
172
これまで色んなものが機械化されてきて、人はほとんど人力で動くということがなくなりました。 そうなると人の筋力などが昔に比べて著しく低下してきています。 今、AIが発展して人の代わりに考えることをAIが代替えし出したら? 人は考えることをやめた時、人に対する思いやりまで消えてしまうでしょう。
AIが人類を滅ぼす原因に僕はちょっと違う 「人類が滅ぶ原因は考えることをやめた時」だと思う。 便利の裏に危うさあり 人は快適さを求めるあまりに、裏の構造まで理解しようとしない。 何かを預けすぎればいざというとき奪われる
1
4
154
先日のJUNKeeeeS FESで実施した「アートバトル」「アートバトルワイヤル」が大盛況みたいで提案してよかったと思っています。 「アートバトル」では、データを収集していて、やはり京都からの家族連れが多いようでした。 日曜のお昼ごろからが一番盛り上がっていたみたいですね。 バトル戦歴は対戦数126回のうち挑戦者の勝率は約26%で、アンケートでは95%が「とても楽しかった」、100%が「またやりたい」と回答してくれました。 本当に嬉しい限りです。 勝てることと、楽しめることは別なんだなって思ったのと、負けることも含めて体験の価値になっている可能性があるなってことを感じました。 ゲームを作って終わりじゃなく、実際に人がどう遊んだのか。 数字から見えてくることも面白いですよね。 やっぱり、テクノロジーはリアルでの付加価値だ。
JUNKeeeeS FES内で開催された「アートバトルロイヤル」では、たくさんのご当地グルメとグッズをご提供いただきました! くーちゃん @964964P 埼玉のおせんべい詰め合わせ ジュリアさん @LuteciaV6 群馬の鬼ひも川うどん ぐりおさん @gangxxlion 広島の桐葉菓 オルトさん @MaikonAlt 三ヶ日みかんジュース しょーご愛弓 @show5ayumi 北海道ルタオのクッキー KJさん @glint_Kj 新潟バスセンターカレーと長岡生姜ラーメン 海音さん @NK_kanon_ ほわほわグッズセット セルフィーさん @selfie_bears227 ロンTee おかげさまで一度の対戦で、優勝者だけでなく、準優勝、そして3位の方まで賞品をだすことができました🔥🔥🔥 当日はたくさんのお子さんも大人の方もご参加いただき、みんなが画面に食いつき大盛り上がり‼️‼️‼️ 中にはJUNKeeeeSの新キャラで参戦してくれた子やポテトくんの作品での参加もあり、運営しているこちらもめちゃくちゃ楽しく、写真を撮るのも忘れるくらい盛り上がってしまいました😅 改めてご協賛いただきました皆様、本当にありがとうございました!!
1
3
11
422
ほんとに大盛り上がりでした! ありがとうございました!!
JUNKeeeeS FES内で開催された「アートバトルロイヤル」では、たくさんのご当地グルメとグッズをご提供いただきました! くーちゃん @964964P 埼玉のおせんべい詰め合わせ ジュリアさん @LuteciaV6 群馬の鬼ひも川うどん ぐりおさん @gangxxlion 広島の桐葉菓 オルトさん @MaikonAlt 三ヶ日みかんジュース しょーご愛弓 @show5ayumi 北海道ルタオのクッキー KJさん @glint_Kj 新潟バスセンターカレーと長岡生姜ラーメン 海音さん @NK_kanon_ ほわほわグッズセット セルフィーさん @selfie_bears227 ロンTee おかげさまで一度の対戦で、優勝者だけでなく、準優勝、そして3位の方まで賞品をだすことができました🔥🔥🔥 当日はたくさんのお子さんも大人の方もご参加いただき、みんなが画面に食いつき大盛り上がり‼️‼️‼️ 中にはJUNKeeeeSの新キャラで参戦してくれた子やポテトくんの作品での参加もあり、運営しているこちらもめちゃくちゃ楽しく、写真を撮るのも忘れるくらい盛り上がってしまいました😅 改めてご協賛いただきました皆様、本当にありがとうございました!!
2
14
341