// Local network initialization
const eoslime = require('eoslime').init();
const CONTRACT_NAME = 'mycontract';
const ABI_PATH = './contract/contract.abi';
// Pre-created local network accounts
const EXECUTOR_1 = eoslime.Account.load('myacc1', 'privateKey1');
const EXECUTOR_2 = eoslime.Account.load('myacc2', 'privateKey2');
let contract = eoslime.Contract.at(ABI_PATH, CONTRACT_NAME, EXECUTOR_1);
// EXECUTOR_1 will execute `doSmth` transaction on the blockchain
await contract.actions.doSmth('Something');
// EXECUTOR_2 will execute `doSmth` transaction on the blockchain
await contract.actions.doSmth('Something', { from: EXECUTOR_2 });
// EXECUTOR_1 will execute `doSmth` transaction on the blockchain
await contract.actions.doSmth('Something');