Comments (12)
Metro maintainer here - thanks @junderw for calling attention to this, it's a known issue on the Metro side. See facebook/metro#815 (comment) for a workaround.
from tiny-secp256k1.
How to replace
tiny-secp256k1
with@noble/secp256k1
? They have different methods. I want to use it withbitcoinjs-lib
Take a look to this npm package: https://github.com/bitcoinerlab/secp256k1.
from tiny-secp256k1.
Probably better to ask this on the metro repo.
from tiny-secp256k1.
@Ella-noncelab did you have any luck with this one? I have the same issue.
from tiny-secp256k1.
It's probably an issue with hybrid packages.
- Node uses a new exports key in package.json to denote the ESM vs. the CJS modules.
- Some legacy tools require a main key in package.json to point to CJS.
- Your tool probably bundles the ESM but then looks for the main key (CJS) and is probably getting confused.
But I don't know, since I am not the developer of metro
Please ask them.
from tiny-secp256k1.
I've gone ahead and reported the issue on your behalf, hopefully a solution will be found.
from tiny-secp256k1.
Thanks for the temporary solution and confirmation that the fix is on your radar.
from tiny-secp256k1.
Thanks guys! Appreciate the help.
from tiny-secp256k1.
@Ella-noncelab did you have any luck with this one? I have the same issue.
Sorry.. I just gave up to use this. Because I only have to get addresses and keys so I use 'hdkey' package instead. https://www.npmjs.com/package/hdkey
from tiny-secp256k1.
Anyway guys, be aware that tiny-secp256k1
uses WASM which is not supported by react-native Javascript Core engine (iOS / Android). It does work on react-native-web though. Note that Android emulator may run WASM but it will not run on the actual device.
You can use the older version tiny-secp256k1@1
(which is quite slow on devices but does the job) or @noble/secp256k1
which is super fast (order-of-magnitude comparable to WASM) and works together just fine with bitcoinjs-lib.
One last thing. One problem with @noble/secp256k1
is that it is based on BigInt
, which is only supported in React-Native by iOS
right now, but will also join Android in the upcoming RN-0.70
release (using the new Hermes Js engine).
from tiny-secp256k1.
Anyway guys, be aware that
tiny-secp256k1
uses WASM which is not supported by react-native Javascript Core engine (iOS / Android). It does work on react-native-web though. Note that Android emulator may run WASM but it will not run on the actual device.You can use the older version
tiny-secp256k1@1
(which is quite slow on devices but does the job) or@noble/secp256k1
which is super fast (order-of-magnitude comparable to WASM) and works together just fine with bitcoinjs-lib.One last thing. One problem with
@noble/secp256k1
is that it is based onBigInt
, which is only supported in React-Native byiOS
right now, but will also join Android in the upcomingRN-0.70
release (using the new Hermes Js engine).
How to replace tiny-secp256k1
with @noble/secp256k1
? They have different methods. I want to use it with bitcoinjs-lib
from tiny-secp256k1.
How to replace
tiny-secp256k1
with@noble/secp256k1
? They have different methods. I want to use it withbitcoinjs-lib
Take a look to this npm package: https://github.com/bitcoinerlab/secp256k1.
This helped. If you are running RN >0.70 with Hermes, this might unblock you.
from tiny-secp256k1.
Related Issues (20)
- Buffer is not defined HOT 1
- There are 2 test vectors for pointCompress which are not correct HOT 2
- Secp256k1 signature issue with messages > curve_order HOT 2
- Is there a fallback build instead of wasm? HOT 4
- Does this implement deterministic k generation HOT 2
- remove dependancy from `window` object on browser
- no such file or directory node_modules/tiny-secp256k1/lib/secp256k1.wasm HOT 7
- Uncaught TypeError: Cannot read properties of undefined (reading 'buffer') HOT 2
- Discrepancy in signSchnorr output when using zero-filled Buffer versus no Buffer HOT 3
- Cant figure equivalents to `bcrypto.secp256k1` calls HOT 5
- Nestjs ERROR Error: ENOENT: no such file or directory, open '/var/task/node_modules/tiny-secp256k1/lib/secp256k1.wasm' HOT 2
- Two times speed regression between `2.2.2` and `2.2.3` HOT 3
- Docker Build Failure HOT 2
- import tiny-secp256k1 in browser causes TypeError [ERR_INVALID_FILE_URL_PATH]: File URL path must be absolute HOT 2
- SyntaxError: Cannot use import statement outside a module HOT 1
- ecc library invalid
- Wrong path when bundling tiny-secp256k1 with Electron HOT 1
- tiny-secp compilation in swift and java HOT 2
- Bug when using browserify HOT 3
- Pure-js backport of `xOnlyPointFromPoint()`..? HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tiny-secp256k1.