En esta página
Transacciones
Conecta el proveedor y consulta su red antes de preparar transacciones. Estos ejemplos son para Conflux Core Space. Sustituye las direcciones abreviadas e inicializa cualquier cliente SDK antes de usar sus métodos.
Aprende a enviar transacciones en Conflux.
Enviar una transacción
const txHash = await provider.request({
method: 'cfx_sendTransaction',
params: [{
from: senderAddress,
to: recipientAddress,
value: '0xDE0B6B3A7640000', // 1 CFX in Drip (hex)
gas: '0x5208', // 21000
}]
})
console.log('Transaction hash:', txHash)Enviar con estimación de gas
// Estimate gas first
const gasEstimate = await provider.request({
method: 'cfx_estimateGasAndCollateral',
params: [{
from: senderAddress,
to: recipientAddress,
value: '0xDE0B6B3A7640000',
}]
})
// Send with estimated values
const txHash = await provider.request({
method: 'cfx_sendTransaction',
params: [{
from: senderAddress,
to: recipientAddress,
value: '0xDE0B6B3A7640000',
gas: gasEstimate.gasLimit,
storageLimit: gasEstimate.storageCollateralized,
}]
})Llamar a un contrato
const result = await provider.request({
method: 'cfx_call',
params: [{
to: contractAddress,
data: encodedFunctionCall,
}, 'latest_state']
})
console.log('Result:', result)Uso con js-conflux-sdk
Configuración
npm install js-conflux-sdkConectar el proveedor
import { Conflux } from 'js-conflux-sdk'
const conflux = new Conflux({
url: 'https://main.confluxrpc.com',
networkId: 1029,
})
// Use OneKey provider for signing
conflux.provider = providerEnviar una transacción con el SDK
// Create and send transaction
const tx = conflux.cfx.sendTransaction({
from: senderAddress,
to: recipientAddress,
value: Conflux.Drip.fromCFX(1), // 1 CFX
})
console.log('Transaction:', tx)
// Wait for confirmation
const receipt = await tx.executed()
console.log('Receipt:', receipt)Interacción con contratos
const contract = conflux.Contract({
abi: contractABI,
address: contractAddress,
})
// Read
const result = await contract.someViewFunction().call()
// Write
const tx = contract.someWriteFunction(param1, param2).sendTransaction({
from: senderAddress,
})
const receipt = await tx.executed()Gestión de errores
try {
const accounts = await provider.request({
method: 'cfx_requestAccounts'
})
} catch (error) {
if (error.code === 4001) {
console.log('User rejected the request')
} else if (error.code === -32603) {
console.log('Internal error')
} else {
console.error('Error:', error.message)
}
}Última actualización el