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 as well as sscjs 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();