rchain-token
Version:
Fungibles and non-fungibles tokens on the RChain blockchain
42 lines (36 loc) • 1.33 kB
JavaScript
const rchainToolkit = require('rchain-toolkit');
const fs = require('fs');
const { getProcessArgv, getRegistryUri } = require('./utils');
const { readPursesDataTerm } = require('../src');
module.exports.viewData = async () => {
const purseId = getProcessArgv('--purse');
const tokenId = getProcessArgv('--token');
const registryUri = getRegistryUri();
if (typeof purseId === 'undefined' && typeof tokenId === 'undefined') {
console.log('Please provide one of options --purse or --token');
process.exit();
}
rchainToolkit.http
.exploreDeploy(process.env.READ_ONLY_HOST, {
term: readPursesDataTerm(registryUri, { pursesIds: [purseId] }),
})
.then((results) => {
let data = rchainToolkit.utils.rhoValToJs(JSON.parse(results).expr[0]);
console.log(data);
data = decodeURI(data[tokenId || purseId]);
let fileName = `./data-token-${tokenId}.txt`;
if (purseId) {
fileName = `./data-purse-${purseId}.txt`;
}
console.log(
`✓ retrieved data associated with ${
tokenId ? 'token' : 'data-purse'
} ${purseId} :`
);
if (typeof data === 'string') {
console.log(data.slice(0, 20) + '...');
}
fs.writeFileSync(fileName, data, 'utf8');
console.log(`✓ wrote ${fileName} file`);
});
};