Sur cette page
Premiers pas
Connectez le fournisseur avant de signer. Les exemples de transaction utilisent les champs de style algosdk 2 from/to ; adaptez-les à la version majeure du SDK que vous installez. algodClient, les adresses et les transactions groupées doivent être préparés avant d’exécuter les extraits. Les exemples de navigateur utilisant Buffer nécessitent une importation explicite de buffer ou un encodeur base64 équivalent.
Découvrez comment détecter Algorand, s’y connecter et interagir avec lui à l’aide du fournisseur OneKey.
Le fournisseur Algorand OneKey prend en charge les interfaces historiques et celles conformes à ARC-0001.
Détection du fournisseur
// 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) // trueConnexion (API historique)
const { address } = await provider.connect()
console.log('Connected:', address)
// Check connection status
console.log('isConnected:', provider.isConnected)
console.log('Address:', provider.address)Activation (ARC-0001)
const result = await provider.enable({
genesisID: 'mainnet-v1.0',
genesisHash: 'wGHE2Pwdvd7S12BL5FaOP20EGYesN73ktiC1qzkkit8=',
})
console.log('Accounts:', result.accounts)
console.log('Genesis Hash:', result.genesisHash)Déconnexion
await provider.disconnect()
console.log('Disconnected')Gestion des événements
Écouter les changements de compte
provider.on('accountChanged', (address) => {
if (address) {
console.log('Account changed:', address)
} else {
console.log('Disconnected')
}
})Écouter la connexion
provider.on('connect', ({ address }) => {
console.log('Connected:', address)
})
provider.on('disconnect', () => {
console.log('Disconnected')
})Utilisation avec le client Algod
Obtenir le client depuis le fournisseur
// 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().Configuration manuelle du client
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',
''
)Dernière mise à jour le