javascript – Converting BN Result to Readable String or Number in Ethjs

abiethereumjsethjsjavascript

I'm receiving the result in BN format. How can I convert it into actual string or number? I'm using ethjs library to interact with Smart Contract.

token.totalSupply().then((totalSupply) => {
  // result <BN ...>  4500000
});

Best Answer

Once you have a BN object, you can use .toString() or .toNumber() on it.

Per the comments below, your function isn't actually receiving a BN. It's getting some sort of Results object that has a single key in it: 0. (Presumably if the function returned multiple values, there would be more keys.)

So first extract the BN from the Result:

token.totalSupply().then(result => {
  const supply = result[0];
  console.log(supply.toString());  // or .toNumber()
});
Related Topic