このページの内容
はじめに
署名前にプロバイダーに接続してください。トランザクションの例では、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',
''
)最終更新日