Auf dieser Seite
Erste Schritte
Verbinden Sie den Provider und lesen Sie sein Netzwerk, bevor Sie Transaktionen vorbereiten. Diese Beispiele gelten für Conflux Core Space. Ersetzen Sie verkürzte Adressen und initialisieren Sie jeden SDK-Client, bevor Sie dessen Methoden verwenden.
Erfahren Sie, wie Sie Conflux mit dem Provider von OneKey erkennen, verbinden und damit interagieren.
Der Conflux-Provider von OneKey ist sowohl mit den Schnittstellen von ConfluxPortal als auch von Fluent kompatibel.
Provider erkennen
// 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) // trueKonten anfordern
const accounts = await provider.request({
method: 'cfx_requestAccounts'
})
console.log('Connected:', accounts[0])Verbindung prüfen
if (provider.isConnected()) {
const accounts = await provider.request({ method: 'cfx_accounts' })
console.log('Accounts:', accounts)
}Chain-ID abrufen
const chainId = await provider.request({ method: 'cfx_chainId' })
console.log('Chain ID:', chainId) // e.g., '0x405' for mainnetNetzwerkversion abrufen
const networkId = await provider.request({ method: 'net_version' })
console.log('Network ID:', networkId) // e.g., '1029' for mainnetGuthaben abrufen
const balance = await provider.request({
method: 'cfx_getBalance',
params: [address, 'latest_state']
})
console.log('Balance:', balance) // In Drip (1 CFX = 10^18 Drip)Ereignisbehandlung
Auf Kontoänderungen reagieren
provider.on('accountsChanged', (accounts) => {
if (accounts.length === 0) {
console.log('Disconnected')
} else {
console.log('Account changed:', accounts[0])
}
})Auf Chain-Änderungen reagieren
provider.on('chainChanged', (chainId) => {
console.log('Chain changed:', chainId)
// Recommend reloading the page
window.location.reload()
})Auf Verbindungen reagieren
provider.on('connect', ({ chainId, networkId }) => {
console.log('Connected to:', chainId, networkId)
})
provider.on('disconnect', () => {
console.log('Disconnected')
})Adressformat
Conflux verwendet Base32-Adressen (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) // networkIdNetzwerke
| Netzwerk | Chain-ID (hex) | Netzwerk-ID |
|---|---|---|
| Mainnet | 0x405 | 1029 |
| Testnet | 0x1 | 1 |
Zuletzt aktualisiert am