Cloudflare Web3 ゲートウェイは、さまざまな Web3 ネットワークへの HTTP アクセス可能なインターフェースを提供します。ゲートウェイとは、いくつかの方法でやり取りできます。
ダッシュボードでゲートウェイを作成するには、次の手順を行います。
-
Cloudflare ダッシュボードで Web3 ページを開きます。
Web3 を開く ↗ -
Create Gateway を選びます。
-
次の情報を入力します。
- Hostname: ゲートウェイとして使うホスト名を入力します。現在の Cloudflare ゾーンのサブドメインである必要があります。
- Gateway Description: ゲートウェイを区別するための説明を入力します。
- Gateway Type: ゲートウェイの対象として IPFS DNSLink、IPFS Universal Path、または Ethereum を選びます。
- DNSLink: IPFS ゲートウェイにのみ適用されます。詳細は DNSLink を参照してください。
- Deploy を選びます。
API でゲートウェイを作成するには、次のパラメーターを含む POST リクエストを送ります。
name:CNAMEレコードで対象ゲートウェイを指すホスト名です。target: ホスト名のゲートウェイターゲットです(ethereum、ipfs、ipfs_universal_path)。
API 認証について不明な点がある場合は、Cloudflare API のドキュメント を参照してください。
curl "https://api.cloudflare.com/client/v4/zones/{zone_id}/web3/hostnames" \
--header "X-Auth-Email: <EMAIL>" \
--header "X-Auth-Key: <API_KEY>" \
--header "Content-Type: application/json" \
--data '{
"name": "gateway.example.com",
"description": "This is my IPFS gateway.",
"target": "ipfs",
"dnslink": "/ipns/onboarding.ipfs.cloudflare.com"
}'レスポンスには、新しいゲートウェイの完全な定義が含まれます。
{
"success": true,
"errors": [],
"messages": [],
"result": {
"id": "<WEB3_GATEWAY_ID>",
"name": "gateway.example.com",
"description": "This is my IPFS gateway.",
"status": "active",
"target": "ipfs",
"dnslink": "/ipns/onboarding.ipfs.cloudflare.com",
"created_on": "<CREATED_ON_DATE>",
"modified_on": "<MODIFIED_ON_DATE>"
}
}ゲートウェイを作成すると、Cloudflare は自動的に次を行います。
- ゲートウェイがトラフィックを適切に受信およびルーティングできるように、Cloudflare DNS にレコードを作成して追加 します。
- そのホスト名へのトラフィックを プロキシ します。
- 指定したホスト名をカバーする SSL/TLS 証明書を発行します。
ゲートウェイを作成 したあと、編集できるのは Gateway Description だけです。IPFS ゲートウェイの場合は、DNSLink フィールドの値も編集できます。
ほかのフィールドを編集する必要がある場合は、ゲートウェイを削除 して新しいものを作成します。
ダッシュボードでゲートウェイを編集する手順は次のとおりです。
-
Cloudflare ダッシュボードで、Web3 ページを開きます。
Web3 を開く ↗ -
対象のゲートウェイで Edit を選びます。
-
Gateway Description を更新します。IPFS ゲートウェイを編集している場合は、DNSLink の値も更新します。
-
Reapply を選びます。
ゲートウェイの特定の設定を編集するには、PATCH リクエストを使います。
ゲートウェイが Error ステータス のまま止まっている場合は、ゲートウェイのリフレッシュを試してください。ホスト名に関連する DNS レコードの再作成を試みます。
ダッシュボードでゲートウェイをリフレッシュする手順は次のとおりです。
-
Cloudflare ダッシュボードで、Web3 ページを開きます。
Web3 を開く ↗ -
ゲートウェイのドロップダウンを開き、Refresh を選びます。
API でゲートウェイをリフレッシュするには、空のリクエストボディで PATCH リクエストを送ります。
IPFS Universal Path ゲートウェイ を設定したときは、ゲートウェイのブロックリストに項目を追加して、特定のコンテンツへのアクセスをブロックできます。
次の 1 つ以上へのアクセスをブロックできます。
- CID(
QmPZ9gcCEpqKTo6aq61g2nXGUhM4iCL3ewB6LDXZCtioEB) - IPFS コンテンツパス(
/ipfs/QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG/readme) - IPNS コンテンツパス(
/ipns/example.com)
ダッシュボードでブロックリストに項目を追加する手順は次のとおりです。
-
Cloudflare ダッシュボードで、Web3 ページを開きます。
Web3 を開く ↗ -
対象のゲートウェイのドロップダウンを開き、Blocklist を選びます。
-
Add entry を選びます。
-
次の情報を入力します。
- Blocklist entry type: CID または Content path を選びます。
- Blocklist entry content: ブロックする CID またはコンテンツパスを追加します。有効な CIDv0 または CIDv1 文字列(CID)、あるいは
/ipfs/または/ipns/で始まるエントリ(コンテンツパス)です。 - Blocklist entry description: ブロックリストエントリを識別しやすい説明を追加します。
-
Add を選びます。
API でブロックリスト項目を追加するには、POST リクエストを送ります。
ゲートウェイを削除すると、Cloudflare は関連するホスト名の DNS レコードを自動的に削除します。この操作はトラフィックに影響し、元に戻せません。
ダッシュボードでゲートウェイを削除する手順は次のとおりです。
-
Cloudflare ダッシュボードで、Web3 ページを開きます。
Web3 を開く ↗ -
対象のゲートウェイのドロップダウンを開き、Remove を選びます。
-
Delete hostname を選びます。
API でゲートウェイを削除するには、DELETE リクエストを送ります。