Instantiation
Types of contract access
There are 2 types of contract access
Write - Instantiate a contract with a signer/executor. You can broadcast transactions and read contract's tables
Read only - Instantiate a contract without a signer/executor. You can only read the contract's tables
fromFile(abi/abiPath, contractName, ?executor)
You can provide the ABI in two ways
The whole ABI
The ABI path
Defaults/Optionals:
executor - Default account
// Local network initialization
const eoslime = require('eoslime').init();
const CONTRACT_NAME = 'mycontract';
// Pre-created local network account
const CONTRACT_EXECUTOR = eoslime.Account.load('myaccount', 'privateKey');
const ABI_PATH = './contract/contract.abi';
const contract = eoslime.Contract.fromFile(ABI_PATH, CONTRACT_NAME, CONTRACT_EXECUTOR);
at(contractName, ?executor)
This function is useful when you want to read the ABI from the blockchain instead of providing it as a path
Defaults/Optionals:
executor - Default account
// Local network initialization
const eoslime = require('eoslime').init();
const CONTRACT_NAME = 'mycontract';
// Pre-created local network account
const CONTRACT_EXECUTOR = eoslime.Account.load('myaccount', 'privateKey');
const contract = await eoslime.Contract.at(CONTRACT_NAME, CONTRACT_EXECUTOR);
Events
init
You can process some logic every time a new contract is instantiated.
eoslime.Contract.on('init', (contract) =>
{
// do some custom logic
}
);
Last updated
Was this helpful?