FAQ
Authenticated Transfer Protocol (ATP) に関するよくある質問。
ATプロトコルはブロックチェーン?
なぜActivityPubを使わないのですか?
アカウントのポータビリティが、別のプロトコルを構築することを選択した主な理由です。 突然の禁止、サーバーのシャットダウン、ポリシーの不一致からユーザーを保護するため、移植性は非常に重要であると考えています。 移植性のための当社のソリューションには、署名されたData Repositoriesと DIDs(Identity) の両方が必要ですが、どちらも ActivityPub に簡単に組み込むことはできません。 ActivityPub の移行ツールは比較的限られています。 元のサーバーがリダイレクトを提供する必要があり、ユーザーの以前のデータを移行することはできません。 その他の小さな違いには、次のようなものがあります。スキーマの処理方法に関する異なる視点、AP のダブル @ メールのユーザー名よりもドメイン ユーザー名を優先すること、大規模な検索と発見 (ActivityPub が好むハッシュタグ スタイルの発見ではなく) を行うという目標。
JSON-LD や RDF を使わずにLexiconを作る理由
ATP は、組織間でデータと RPC コマンドを交換します。 データと RPC が有用であるためには、ソフトウェアは別々のチームによって作成されたスキーマを正しく処理する必要があります。 これがLexiconの目的です。 エンジニアには新しいスキーマを快適に使用および作成してもらい、開発者にはシステムの DX を楽しんでもらいたいと考えています。 Lexicon は、開発者にとって非常に馴染みがあり、さまざまなランタイムの正確性チェック (分散システムでは不可欠) を提供する、厳密に型指定された API を作成するのに役立ちます。
RDF は、システムがインフラストラクチャをほとんど共有しない、非常に一般的なケースを対象としています。 概念的には洗練されていますが、使いにくく、多くの場合、開発者が理解できない多くの構文が追加されます。 JSON-LD は RDF 語彙を使用するタスクを簡素化しますが、RDF をより読みやすくするのではなく、基礎となる概念を隠すことによってそれを行います。 私たちは RDF の使用について非常に詳しく検討しましたが、DX やそれが提供するツールが気に入らなかっただけです。
「XRPC」とは何ですか?なぜ___を使用しないのですか?
XRPC は、いくつかの規則が追加された HTTP です。 XRPC は Lexicon を使用して HTTP 呼び出しを記述し、それらを /xrpc/{methodId} にマップします。 たとえば、次の API 呼び出しです。 code:js
await api.com.atproto.repo.listRecords({
user: 'alice.com',
collection: 'app.bsky.feed.post'
})
次のようになります
code:http
GET /xrpc/com.atproto.repo.listRecords
?user=alice.com
&collection=app.bsky.feed.post
Lexicon は、共有メソッド ID (com.atproto.repo.listRecords) と、予想されるクエリ パラメータ、入力本文、および出力本文を確立します。 Lexicon を使用することで、呼び出しの入力と出力のランタイム チェックを取得し、上記の API 呼び出しの例のような型付きコードを生成できます。