wallet/getcontractinfo - Get Contract Details
Get detailed information about a TRON smart contract including bytecode, ABI, and energy consumption via Dwellir's RPC endpoint.
Get detailed information about a deployed smart contract.
Endpoint
POST /wallet/getcontractinfoImplementation Examples
ABI Entry Types
Function Entry
{
"name": "functionName",
"inputs": [...],
"outputs": [...],
"type": "Function",
"stateMutability": "view|pure|nonpayable|payable"
}Event Entry
{
"name": "EventName",
"inputs": [
{
"indexed": true,
"name": "param1",
"type": "address"
}
],
"type": "Event"
}Constructor Entry
{
"inputs": [...],
"type": "Constructor",
"stateMutability": "nonpayable"
}Contract Verification
// Verify contract source code matches deployed bytecode
async function verifyContract(address, sourceCode, compilerVersion) {
// Get deployed contract info
const response = await fetch(`${API_URL}/wallet/getcontractinfo`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ value: address, visible: true })
});
const contract = await response.json();
const deployedBytecode = contract.bytecode;
// Compile source code (pseudo-code)
const compiledBytecode = await compileContract(sourceCode, compilerVersion);
// Compare bytecodes (excluding metadata)
const verified = compareBytecode(deployedBytecode, compiledBytecode);
return {
verified,
contractName: contract.contract_name,
abi: contract.abi,
creator: contract.origin_address
};
}Best Practices
1. Cache Contract Info
- ABI doesn't change after deployment
- Cache to reduce API calls
- Update cache only when needed
2. Validate Contracts
- Check bytecode exists
- Verify ABI structure
- Confirm expected functions present
3. Energy Monitoring
- Track consumed_energy growth
- Monitor for unusual consumption
- Alert on high energy usage
Common Errors
| Error | Description | Solution |
|---|---|---|
Contract does not exist | Invalid contract address | Verify address is correct |
Not a smart contract address | Address is not a contract | Check address type first |
class org.tron.core.exception.BadItemException | Malformed request | Check parameter format |
Use Cases
- Contract Verification: Verify deployed contract matches source
- ABI Extraction: Get contract interface for interaction
- DApp Integration: Load contract details dynamically
- Analytics: Track contract usage and energy consumption
- Security Auditing: Analyze contract bytecode and functions
Related Methods
- wallet/triggersmartcontract - Call contract function
- wallet/triggerconstantcontract - Call view function
- wallet/estimateenergy - Estimate energy for call
wallet/getcontract
Retrieve TRON smart contract information including bytecode, ABI, and metadata. Essential for contract verification and interaction via Dwellir RPC.
wallet/estimateenergy
Estimate energy consumption for TRON smart contract calls before execution. Optimize transaction costs and resource planning with Dwellir RPC.