このページの内容
はじめに
トランザクションの準備前にプロバイダーに接続し、ネットワークを取得してください。これらの例は 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 |
|---|---|---|
| メインネット | 0x405 | 1029 |
| テストネット | 0x1 | 1 |
最終更新日