Fetching Table
To fetch a table in zeus is easy, setup with:
const deployer = requireBox('seed-eos/tools/eos/deployer');
describe(`${contractCode} Contract`, () => {
const code = 'oracle';
let tableHelper;
before(done => {
(async () => {
try {
tableHelper = await deployer.deploy(ctrt, code);
...
const res = await tableHelper.eos.getTableRows({
code: code,
scope: code,
table: 'table',
json: true
});
console.log(res.rows[0])
This is an example of using the
getTableRowsSec
function to return a secondary index. This function takes the following arguments:- rpc — rpc for leap instance
- code —The account who owns the table
- table — The name of the table as specified by the contract abi
- scope — The scope within the contract in which the table is found
- keys —Keys to satisfy secondary index query
- limit = 1 — limit of amount of rows to return
- key_type — secondary index type,
i64, i128, i256, float64, float128, ripemd160, sha256
- index_position — Index number, 1 — primary (first), 2 — secondary index (in order defined by multi_index), 3 — third index, etc
const { getTableRowsSec } = requireBox('dapp-services/services/dapp-services-node/common');
...
let table = await getTableRowsSec(eos.rpc, dappServicesContract, "accountext", "DAPP", [null, testContractAccount, "ipfsservice1", "pprovider1"], 1, 'sha256', 2);
let first = Number(table[0].quota.replace(" QUOTA", ""));
More details available in this article: https://medium.com/@NatPDeveloper/intro-to-antelope-smart-contract-unit-testing-with-zeus-50a6c1d7efce.
Last modified 11mo ago