Smart contract fee introduction

In GXChain, deploying contracts, renewing contracts, and invoking contracts will result in different amounts of fees. This document describes the fees associated with smart contracts.

The fee of deploying contract

The fee of deploying contract is paid by the caller, and is calculated as follows:

// base_fee is 0.01GXC, contract_size is the contract size, price_per_kbyte is the cost of 1kb ram, currently 0.2GXC
fee = base_fee + contract_size / 1024 * price_per_kbyte

The fee of updating contract

The fee of updating contract is paid by the caller, and is calculated as follows:

// base_fee is 0.01GXC, contract_size is the contract size, price_per_kbyte is the cost of 1kb ram, currently 0.2GXC
fee = base_fee + new_contract_size / 1024 * price_per_kbyte

The fee of calling contract

The calling contract is free, but there is a handling fee when calling. The handling fee consists of three parts, ram_fee, cpu_fee and base_fee, which will be returned later.

  • ram_fee

Generated when an object is created or modified in the contract's table, ram_fee can be set to specify the associated account to pay. How ram_fee is calculated:

// ram_bytes is the number of bytes of memory occupied, price_per_kbyte_ram is the cost of 1kb ram, currently 0.2GXC
ram_fee = ram_bytes / 1024 * price_per_kbyte_ram
ram_fee payer Description
0 Contract account itself (same as _slef)
_self Contract account itself (same as 0)
sender Contract call account
original The original calling account of the contract, which is the initial calling account in the cross-contract call

Return of ram_fee: After deleting the object in the table, the fee charged at the time of creation will be returned to the payer to which the memory belongs.

  • cpu_fee

now cpu_fee unit price is 0

  • base_fee

In addition to using cpu_fee and ram_fee, the base contract fee is 0.001GXC.

Return of base_fee: The basic handling fee generated by calling the contract will be returned to the user's to-freeze balance, which needs to be collected manually by the user.

The calculation method for calling the smart contract fee is:

// base_fee is 0.001GXC, ram_fee is calculated according to the payer and occupied memory, cpu_fee is 0
fee = base_fee + ram_fee + cpu_fee
Last Updated: 6/17/2019, 4:48:54 PM