The CyberMiles blockchain is fully backward compatible with the Ethereum protocol. That means
all Ethereum transactions are supported on the CyberMiles blockchain. For developers, we recommend you use the
web3-cmt.js library interact with the blockchain. The
web3-cmt.js library is a customized version of the
Ethereum web3.js library, with the
eth module renamed to the
web3-cmt.js library is integrated into the
travis client console by default.
Beyond Ethereum, however, the most important transactions that are specific for the CyberMiles blockchain are for DPoS staking operations and for blockchain governance operations.
A key characteristic of the CyberMiles blockchain is the DPoS consensus mechanism. You can read more about the CyberMiles DPoS protocol. With the staking transactions, CMT holders can declare candidacy for validators, stake and vote for candidates, and unstake as needed. Learn more about the staking transactions for validators and the staking transactions for delegators.
With the DPoS consensus mechanism, the CyberMiles validators can make changes to the blockchain network's key parameters, deploy new libENI libraries, create trusted contracts, and make other policy changes. Anyone on the blockchain can propose governance changes, but only the current validators can vote. Learn more about the governance transactions.
Most CyberMiles transactions require the caller to pay a gas fee. However, it is sometimes possible to set the
gasPrice to zero and avoid paying the fee altogether! When the caller sends in a transaction with
gasPrice=0, the node determines whether to reject the transaction.
- If the transaction
gasLimitis less than 500,000 (this is an adjustable parameter in the system), the transaction will be accepted and executed for free.
- If the transaction
gasLimit > 500000and the transaction is a smart contract function call, the function call will be executed by the VM. However, the VM would then require the function to be
freegas, meaning that the gas fee will come from the contract itself. If the
freegasrequirements are not met, the VM will fail the transaction. Learn more about the freegas transactions
CyberMiles allows only one free transaction per block for the same from / to addresses.