dhive-sl
Fork of dhive, which was originally created by Johan Nordberg in 2017 and maintained since 2021 by the Hive community. dhive-sl
was forked to merge hive-interface with dhive and customize and improve upon it for the needs of the Splinterlands ecosystem.
Installation
Via npm
For node.js or the browser with browserify or webpack.
npm install @splinterlands/dhive-sl
Usage
import { Client, utils } from '@splinterlands/dhive-sl';
const main = async () => {
const client0 = new Client();
await client0.loadNodes();
utils.log(`0 - No config client: ${(await client0.database.getAccount('splinterlands')).name}`);
await utils.timeout(3 * 1000);
const clientA = new Client({ nodes: ['wrong.hive-api.com', 'hived.splinterlands.com', 'hived-2.splinterlands.com'] });
utils.log(`A - Client: ${(await clientA.database.getAccount('splinterlands')).name}`);
await utils.timeout(3 * 1000);
const clientB = new Client({ nodes: ['hived.splinterlands.com', 'hived-2.splinterlands.com'], beacon: { intervalTime: 2 } });
await clientB.loadNodes();
utils.log(`B - Client: ${(await clientB.database.getAccount('splinterlands')).name}`);
await utils.timeout(5 * 1000);
clientB.destroy();
const clientC = new Client({ nodes: ['hived.splinterlands.com', 'hived-2.splinterlands.com'], beacon: { mode: 'manual' } });
await clientC.loadNodes();
utils.log(`C - Client: ${(await clientC.database.getAccount('splinterlands')).name}`);
await utils.timeout(5 * 1000);
const clientD = new Client({ nodes: ['hived.splinterlands.com', 'hived-2.splinterlands.com'], beacon: { intervalTime: 2, loadOnInitialize: true } });
utils.log(`D - Client: ${(await clientD.database.getAccount('splinterlands')).name}`);
await utils.timeout(5 * 1000);
clientD.destroy();
const clientE = new Client({ beacon: { intervalTime: 2, loadOnInitialize: true } });
utils.log(`E - Client: ${(await clientE.database.getAccount('splinterlands')).name}`);
await utils.timeout(5 * 1000);
clientE.destroy();
utils.log('FINISHED');
};
main();