Skip to Content
dApps

はじめに

署名前にプロバイダーに接続してください。トランザクションの例では、algosdk 2 形式の from/to フィールドを使用しています。インストールする SDK のメジャーバージョンに合わせてください。 algodClient, アドレス、グループ化したトランザクションは、スニペットの実行前に準備する必要があります。Buffer を使用するブラウザーの例には、明示的な buffer インポート、または同等の base64 エンコーダーが必要です。

OneKey のプロバイダーを検出して接続し、Algorand を操作する方法を説明します。

OneKey の Algorand プロバイダーは、従来のインターフェースと ARC-0001 準拠のインターフェースの両方に対応しています。


プロバイダーの検出

// Detect OneKey Algorand provider const provider = window.$onekey?.algo if (!provider) { throw new Error('OneKey Algorand provider not detected') } // Check compatibility console.log('isOneKey:', provider.isOneKey) // true

接続 (従来の API)

const { address } = await provider.connect() console.log('Connected:', address) // Check connection status console.log('isConnected:', provider.isConnected) console.log('Address:', provider.address)

有効化 (ARC-0001)

const result = await provider.enable({ genesisID: 'mainnet-v1.0', genesisHash: 'wGHE2Pwdvd7S12BL5FaOP20EGYesN73ktiC1qzkkit8=', }) console.log('Accounts:', result.accounts) console.log('Genesis Hash:', result.genesisHash)

切断

await provider.disconnect() console.log('Disconnected')

イベント処理

アカウント変更を監視

provider.on('accountChanged', (address) => { if (address) { console.log('Account changed:', address) } else { console.log('Disconnected') } })

接続を監視

provider.on('connect', ({ address }) => { console.log('Connected:', address) }) provider.on('disconnect', () => { console.log('Disconnected') })

Algod クライアントとの併用

プロバイダーからクライアントを取得

// Get pre-configured clients const algodTransport = await provider.getAlgodv2Client() const indexerTransport = await provider.getIndexerClient() // These are BaseHTTPClient transports, not Algodv2 or Indexer SDK instances. // Use the manual setup below for SDK methods such as status().do().

クライアントの手動設定

import algosdk from 'algosdk' const algodClient = new algosdk.Algodv2( '', // Token (not needed for public nodes) 'https://mainnet-api.algonode.cloud', '' ) const indexerClient = new algosdk.Indexer( '', 'https://mainnet-idx.algonode.cloud', '' )
最終更新日