Eoslime
Search…
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
In the case of local development a default signer/executor is set to eosio account for you
In the case of non-local development, default signer is undefined

fromFile(abi/abiPath, contractName, ?executor)

You can provide the ABI in two ways
  • The whole ABI
  • The ABI path
Defaults/Optionals:
  • executor - Default account
1
// Local network initialization
2
const eoslime = require('eoslime').init();
3
4
const CONTRACT_NAME = 'mycontract';
5
// Pre-created local network account
6
const CONTRACT_EXECUTOR = eoslime.Account.load('myaccount', 'privateKey');
7
const ABI_PATH = './contract/contract.abi';
8
9
const contract = eoslime.Contract.fromFile(ABI_PATH, CONTRACT_NAME, CONTRACT_EXECUTOR);
Copied!
If you don't provide CONTRACT_EXECUTORthe provider default account will be applied as 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
1
// Local network initialization
2
const eoslime = require('eoslime').init();
3
4
const CONTRACT_NAME = 'mycontract';
5
// Pre-created local network account
6
const CONTRACT_EXECUTOR = eoslime.Account.load('myaccount', 'privateKey');
7
8
const contract = await eoslime.Contract.at(CONTRACT_NAME, CONTRACT_EXECUTOR);
Copied!
If you don't provide CONTRACT_EXECUTORthe provider default account will be applied as executor

Events

init

You can process some logic every time a new contract is instantiated.
1
eoslime.Contract.on('init', (contract) =>
2
{
3
// do some custom logic
4
}
5
);
6
Copied!
Last modified 1yr ago