Skip to Content
dApps

はじめに

トランザクションの準備前にプロバイダーに接続し、ネットワークを取得してください。これらの例は Conflux Core Space 向けです。省略されたアドレスを置き換え、SDK クライアントのメソッドを使う前にクライアントを初期化してください。

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

OneKey の Conflux プロバイダーは、ConfluxPortal と Fluent の両ウォレットインターフェースと互換性があります。


プロバイダーの検出

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

アカウントを要求

const accounts = await provider.request({ method: 'cfx_requestAccounts' }) console.log('Connected:', accounts[0])

接続を確認

if (provider.isConnected()) { const accounts = await provider.request({ method: 'cfx_accounts' }) console.log('Accounts:', accounts) }

チェーン ID を取得

const chainId = await provider.request({ method: 'cfx_chainId' }) console.log('Chain ID:', chainId) // e.g., '0x405' for mainnet

ネットワークバージョンを取得

const networkId = await provider.request({ method: 'net_version' }) console.log('Network ID:', networkId) // e.g., '1029' for mainnet

残高を取得

const balance = await provider.request({ method: 'cfx_getBalance', params: [address, 'latest_state'] }) console.log('Balance:', balance) // In Drip (1 CFX = 10^18 Drip)

イベント処理

アカウント変更を監視

provider.on('accountsChanged', (accounts) => { if (accounts.length === 0) { console.log('Disconnected') } else { console.log('Account changed:', accounts[0]) } })

チェーン変更を監視

provider.on('chainChanged', (chainId) => { console.log('Chain changed:', chainId) // Recommend reloading the page window.location.reload() })

接続を監視

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

アドレス形式

Conflux は base32 アドレス (CIP-37) を使用します:

// Mainnet: cfx:... // Testnet: cfxtest:... // Example mainnet address const address = 'cfx:aak2rra2njvd77ezwjvx04kkds9fzagfe6ku8scz91' // Convert between formats using js-conflux-sdk import { format } from 'js-conflux-sdk' const hexAddress = format.hexAddress(address) const base32Address = format.address(hexAddress, 1029) // networkId

ネットワーク

ネットワークチェーン ID (16 進数)ネットワーク ID
メインネット0x4051029
テストネット0x11
最終更新日