indutny / bn.js

BigNum in pure javascript
MIT License
1.19k stars 150 forks source link

bn.toBuffer is not a function in React App bootstraped by create-react-app #263

Closed rac-sri closed 3 years ago

rac-sri commented 3 years ago

Getting this on a completely new cra setup:

code:

  const bn = new BN(0, 10);
  console.log(bn);
  console.log(bn.toBuffer());
Uncaught TypeError: bn.toBuffer is not a function
    at App (:3000/static/js/main.chunk.js:166)
    at renderWithHooks (:3000/static/js/0.chunk.js:22725)
    at mountIndeterminateComponent (:3000/static/js/0.chunk.js:25487)
    at beginWork (:3000/static/js/0.chunk.js:26686)
    at HTMLUnknownElement.callCallback (:3000/static/js/0.chunk.js:11675)
    at Object.invokeGuardedCallbackDev (:3000/static/js/0.chunk.js:11724)
    at invokeGuardedCallback (:3000/static/js/0.chunk.js:11784)
    at beginWork$1 (:3000/static/js/0.chunk.js:31526)
    at performUnitOfWork (:3000/static/js/0.chunk.js:30362)
    at workLoopSync (:3000/static/js/0.chunk.js:30299)
    at renderRootSync (:3000/static/js/0.chunk.js:30265)
    at performSyncWorkOnRoot (:3000/static/js/0.chunk.js:29882)
    at scheduleUpdateOnFiber (:3000/static/js/0.chunk.js:29470)
    at updateContainer (:3000/static/js/0.chunk.js:33007)
    at :3000/static/js/0.chunk.js:33539
    at unbatchedUpdates (:3000/static/js/0.chunk.js:30022)
    at legacyRenderSubtreeIntoContainer (:3000/static/js/0.chunk.js:33538)
    at Object.render (:3000/static/js/0.chunk.js:33621)
    at Module.<anonymous> (:3000/static/js/main.chunk.js:419)
    at Module../src/index.js (:3000/static/js/main.chunk.js:508)
    at __webpack_require__ (:3000/static/js/bundle.js:857)
    at fn (:3000/static/js/bundle.js:151)
    at Object.1 (:3000/static/js/main.chunk.js:644)
    at __webpack_require__ (:3000/static/js/bundle.js:857)
    at checkDeferredModules (:3000/static/js/bundle.js:46)
    at Array.webpackJsonpCallback [as push] (:3000/static/js/bundle.js:33)
    at :3000/static/js/main.chunk.js:1
fanatid commented 3 years ago

toBuffer will be available only if global Buffer object exists..

rac-sri commented 3 years ago

toBuffer will be available only if global Buffer object exists..

How to i set this up in a react app ?

fanatid commented 3 years ago

Sorry, I have no idea how to do this in react app :man_shrugging:

rac-sri commented 3 years ago

ok. No worries. Someone must be knowing,lets wait for an answer.

rac-sri commented 3 years ago

Found a solution:

const Buffer = require("buffer").Buffer'
const hashModeBuffer = bufferCV(new BN(hashMode, 10).toArrayLike(Buffer));