En esta página
Primeros pasos
Conecta el proveedor antes de firmar. Los ejemplos de transacciones usan los campos de algosdk 2 from/to; usa la versión principal correspondiente del SDK. algodClient, las direcciones y las transacciones agrupadas deben prepararse antes de ejecutar los fragmentos. Los ejemplos para navegador que usan Buffer necesitan una importación explícita de buffer o un codificador base64 equivalente.
Aprende a detectar, conectar e interactuar con Algorand mediante el proveedor de OneKey.
El proveedor de Algorand de OneKey admite tanto interfaces heredadas como interfaces compatibles con ARC-0001.
Detección del proveedor
// 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) // trueConectar (API heredada)
const { address } = await provider.connect()
console.log('Connected:', address)
// Check connection status
console.log('isConnected:', provider.isConnected)
console.log('Address:', provider.address)Habilitar (ARC-0001)
const result = await provider.enable({
genesisID: 'mainnet-v1.0',
genesisHash: 'wGHE2Pwdvd7S12BL5FaOP20EGYesN73ktiC1qzkkit8=',
})
console.log('Accounts:', result.accounts)
console.log('Genesis Hash:', result.genesisHash)Desconectar
await provider.disconnect()
console.log('Disconnected')Gestión de eventos
Escuchar cambios de cuenta
provider.on('accountChanged', (address) => {
if (address) {
console.log('Account changed:', address)
} else {
console.log('Disconnected')
}
})Escuchar conexiones
provider.on('connect', ({ address }) => {
console.log('Connected:', address)
})
provider.on('disconnect', () => {
console.log('Disconnected')
})Uso con el cliente Algod
Obtener el cliente del proveedor
// 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().Configuración manual del cliente
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',
''
)Última actualización el