フェデレーション開発者サンドボックス ガイドライン#
atproto フェデレーション開発者サンドボックスへようこそ! ✨
これは、実稼働サービスとは完全に別のネットワークであり、フェデレーション アーキテクチャとワイヤ プロトコルをテストできるようになります。
フェデレーション サンドボックス環境は、AT プロトコル分散ソーシャル ネットワークの技術コンポーネントの探索とテストのために設定されたエリアです。これは、開発者とセルフホスティング者がフェデレーション環境でのデータの可用性をテストすることを目的としています。
前向きで生産的な開発者エクスペリエンスを維持するために、私たちは期待とガイドラインを概説したこの行動規範を確立しました。このサンドボックス環境は、当初はフェデレーションの技術コンポーネントをテストすることを目的としていました。
これはテスト環境であるため、これらのガイドラインに従わないインスタンスや不必要なトラブルを引き起こすインスタンスからは排除され、これらの決定に対する具体的な正当性は示されません。
従うべきガイドライン ✍️ #
サンドボックス環境を使用するということは、ガイドラインに従うことに同意したことを意味します。以下をよくお読みください。
責任を持って投稿してください。サンドボックス環境はインフラストラクチャをテストすることを目的としていますが、このテスト プロセスの一部としてユーザー コンテンツが作成される場合があります。コンテンツの生成は自動化または手動で行うことができます。積極的なモデレーションを必要とするコンテンツ、またはBluesky コミュニティ ガイドラインに違反するコンテンツを投稿しないでください。
テストに重点を置いてください。私たちは、学習と技術的な成長を促すサンドボックス環境の維持に努めています。これがテスト環境であることを明確にせずにユーザーを募集するインスタンスには対抗します。
アカウントの作成を制限してください。1 つのサーバーがサンドボックス内のリソースの大部分を使用することは望ましくありません。バランスを保つために、まず、最大 1000 アカウントのパーソナル データ サーバー (PDS) とのみフェデレーションします。ただし、必要に応じてこれを変更する場合があります。
持続性や稼働時間を期待しないでください。私たちはインフラ上のデータを定期的に消去します。これは、ネットワーク状態をリセットし、同期プロトコルをテストすることを目的としています。アカウントとコンテンツは、サンドボックス環境と現実世界の環境の間でミラーリングまたは移行しないでください。
あなたのサービスを「Bluesky」として宣伝しないでください。これは開発者サンドボックスであり、技術ユーザーを対象としています。技術者以外のユーザーが Bluesky を使用する方法としてサービスを宣伝しないでください。
サンドボックスの Did:plcs を本番環境にミラーリングしないでください。
ステータスとワイプ#
🐉 ドラゴンに注意してください!
これはまだ製品テストが行われていません。かなりうまく機能しているように見えますが、表面の下に何が潜んでいるかは誰にもわかりません。それがこのサンドボックスの目的です。連盟の準備を進めていくので、しばらくお待ちください。
その点については、 atproto リポジトリのIssues (実際のバグ) またはDiscussions (より高度な質問/議論)のいずれかでフィードバックをお寄せください。
🗓 定期的な拭き取り
サンドボックスの一部として、すべてのネットワーク データの定期的な消去を実行します。
当社は、ワイプを毎週または隔週で実行する予定ですが、いつでもワイプを実行する権利を留保します。
データを消去すると、すべてのサービス (BGS、App View、PLC) でデータが消去されます。また、既存の DID を「無効」としてマークし、ネットワークの次のエポックでそれらのアカウントのインデックス作成を拒否し、ユーザーがワイプ間でアカウントを「ロールオーバー」しようとするのを阻止します。
はじめましょう✨ #
サンドボックスのガイドラインを読んだので、開発者サンドボックスで PDS を自己ホストする準備が整いました。PDS をセットアップするための完全な手順については、READMEを参照してください。
アカウントにアクセスするには、実稼働環境の Bluesky にログインするのとまったく同じ方法で、選択したクライアント (たとえば、Bluesky Web クライアント)でログインします。その際、ログインしたいサービスとしてPDSの URL を入力してください。
自動更新#
Watchtower を PDS ディストリビューションに含めました。毎日太平洋標準時間午前 0 時に、GitHub コンテナー レジストリをチェックして、PDS コンテナーの新しいバージョンがあるかどうかを確認し、サービス上で更新します。
これにより、プロトコルの変更を毎日ネットワークにプッシュできるため、プロトコルの変更を迅速に繰り返すことができます。
定期的なネットワーク ワイプを行う場合、コンテンツとアカウントをワイプする参加している PDS へのデータベース移行をプッシュします。
Watchtower の自動更新を無効にする権利はお客様にありますが、その使用を強くお勧めします。また、最新の PDS ディストリビューションを実行しない場合にはサポートは提供されません。
オッズ&エンド&警告&リマインダー#
🧪 実験して楽しんでください!
🤖フィードジェネレーターを実行します。これらは運用環境とまったく同じように動作するはずです。Sandbox BGS を聞くように環境を必ず調整してください。
🌈 独自の AppView または BGS を自由に実行してください。ただし、少し複雑になりますが、これについては限定的なサポートを提供します。
👤 PDS はデフォルトでハンドルを提供します。カスタム ドメイン ハンドルは、本番環境の Bluesky とまったく同じようにサンドボックスで動作する必要があります。ただし、ハンドルごとに設定できる DID は 1 つだけであるため、本番環境の Bluesky からハンドルを再利用することはできません。
🚨 セルフホステッド PDS のセットアップ手順に従うと、env ファイルに秘密鍵マテリアルが含まれます。その共有には注意してください。
📣 これは公共ブロードキャスト プロトコルのサンドボックス バージョンです。機密情報は共有しないでください。
🤝 お互いに助け合おう!問題やディスカッションに応答したり、Matrixやコミュニティが運営するDiscordでチャットしたりできます。
atproto フェデレーションの詳細についてはこちらをご覧ください#
フェデレーションの概要を確認してください。
atproto ドキュメントでさらに詳しく調べてください。
ネットワークサービス#
PLC、BGS、Bluesky「App View」の3つのサービスを実行しています。
PLC番号
ホスト名: plc.bsky-sandbox.dev
PLC は、ネットワークのデフォルトの DID プロバイダーです。DID は、ネットワーク内でのアイデンティティのルートです。サンドボックス PLC は本番 PLC とまったく同じように機能しますが、別のデータセットを持つ別のサービスとして実行されます。セルフホステッド PDS パッケージの DID 解決クライアントは、正しい PLC サービスと通信するように設定されています。
BGS #
ホスト名: bgs.bsky-sandbox.dev
BGS (Big Graph Service) はネットワーク全体のファイアホースです。PDS からのデータを照合し、1 つの巨大な Web ソケット上で再ブロードキャストします。
BGS は何らかの方法でサーバーについて知る必要があるため、何らかの書き込みを行うときは、BGS に ping を送信してcom.atproto.sync.requestCrawl新しいデータを通知します。これは、セルフホスト型 PDS パッケージで自動的に行われます。
Bluesky 実稼働 Firehose に精通している場合は、まったく同じ方法で BGS Firehose にサブスクライブできます。インターフェースとデータは同一である必要があります。
Bluesky アプリビュー#
ホスト名: api.bsky-sandbox.dev
Bluesky App View は、ネットワーク全体からデータを集約して、Bluesky マイクロブログ アプリケーションにサービスを提供します。BGS からの Firehose を消費し、フィード、投稿スレッド、ユーザー プロファイルなどのネットワークのサービス可能なビューに処理します。これは、かなり伝統的な Web サービスとして機能します。
PDS から Bluesky 関連のビューをリクエストすると (getProfileたとえば)、PDS は実際にそのリクエストを App View までプロキシします。
必要に応じて、独自の App View を実行して自由に実験してください。
PDS #
PDS (パーソナル データ サーバー) は、ユーザーが投稿、プロフィール、いいね、フォローなどのソーシャル データをホストする場所です。サンドボックスの目標は、多くの PDS を連携させることです。そのため、独自の PDS を実行していただければ幸いです。
実際には、サンドボックスで Bluesky PDS を実行しているわけではありません。サンドボックス環境では Bluesky チーム メンバーのアカウントが表示される場合がありますが、それらも自己ホストされています。
実行する PDS は、Bluesky 実稼働 PDS で実行されているコードとほぼ同じです。特に、in-pds-appview コードはすべて削除されています。atproto/simplify-pdsブランチで実行している実際の PDS コードを確認できます。
フィードバック#
開発者サンドボックスにすぐにご参加いただけることを楽しみにしています。atproto リポジトリの問題(実際のバグ) またはディスカッション(高レベルの質問/ディスカッション)のいずれかでフィードバックをお寄せください。