oed / seedsplit Goto Github PK
View Code? Open in Web Editor NEWUse shamirs secret sharing scheme to split a seed mnemonic for crypto wallets to multiple mnemonics.
License: MIT License
Use shamirs secret sharing scheme to split a seed mnemonic for crypto wallets to multiple mnemonics.
License: MIT License
I have nodejs and npm installed on my ubuntu 16.04 LTS, can anyone tell me what this error means?
/usr/local/lib/node_modules/seedsplit/bin/cli.js:23
function split({ threshold, shards }) {
^
SyntaxError: Unexpected token {
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:374:25)
at Object.Module._extensions..js (module.js:417:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Function.Module.runMain (module.js:442:10)
at startup (node.js:136:18)
at node.js:966:3
I've found out that bip39 new version 2.4.0 breaks this module when working with 24 words.
You can change your package.json to download the 2.3.0 version and it should work fine.
[Related #3 ]
Hello again :)
I'm combining the shards I created but the key that I'm getting is showing the wrong addresses, with zero balance, when I import it into Mycrypto App or Electrum Bitcoin wallet.
I have tried both the compiled version cli-win and cli-linux and the npm installer on ubuntu with bip39 2.3.0. They all give me the same output which seems to be different from what I split back in 2017.
Hi,
I have noticed a few issues with the sharded phrases, which might be related and have a common cause, so I don't want to create a separate issue for each unless advised otherwise:
Demonstration:
[denis@localhost ~]$ echo "any brain size about february pupil maximum model bright convince cabbage sister" | wc -w
12
[denis@localhost ~]$ echo "any brain size about february pupil maximum model bright convince cabbage sister" | seedsplit split -t 2 -s 3
Enter seed mnemonic:
divorce episode heavy wrong input bless media canoe tragic wagon feed town sugar fork
divorce nuclear split raw fantasy fury essay pyramid vendor smoke thumb detect write actress
divorce table project keep refuse empower husband step alert chest miss lunch bomb skirt
[denis@localhost ~]$ echo "divorce episode heavy wrong input bless media canoe tragic wagon feed town sugar fork" | wc -w
14
[denis@localhost ~]$ echo "divorce episode heavy wrong input bless media canoe tragic wagon feed town sugar fork" | seedsplit split -t 2 -s 3
Enter seed mnemonic:
readline.js:1021
throw err;
^
Error: Invalid mnemonic
at Object.mnemonicToEntropy (/usr/lib/node_modules/seedsplit/node_modules/bip39/index.js:65:37)
at Object.split (/usr/lib/node_modules/seedsplit/lib/seedsplit.js:11:19)
at result (/usr/lib/node_modules/seedsplit/bin/cli.js:29:36)
at prompt.get (/usr/lib/node_modules/seedsplit/bin/cli.js:60:7)
at /usr/lib/node_modules/seedsplit/node_modules/prompt/lib/prompt.js:336:32
at /usr/lib/node_modules/seedsplit/node_modules/async/lib/async.js:154:25
at assembler (/usr/lib/node_modules/seedsplit/node_modules/prompt/lib/prompt.js:333:9)
at /usr/lib/node_modules/seedsplit/node_modules/prompt/lib/prompt.js:342:32
at /usr/lib/node_modules/seedsplit/node_modules/prompt/lib/prompt.js:625:5
at Interface.onLine (/usr/lib/node_modules/seedsplit/node_modules/read/lib/read.js:111:5)
Best regards,
Denis Shulyaka
Guys, please help me out here, I'm having an issue installing https://github.com/oed/seedsplit on both Ubuntu 16 and now Windows 10. I have the "npm" logs here and will pay a good tip for a solution!
2019-05-22T09_36_29_967Z-debug.log
2019-05-22T09_38_50_792Z-debug.log
2019-05-22T23_19_06_419Z-debug.log
The secrets.js libarary is not really that nice. Instead dsprenkles/sss-node should be used. Note that this is a breaking change meaning that old shards will not be combinable after this update.
Something that someone using this might not consider is the possibility of this code disappearing, rendering your keys useless - unless you also store the algorithm along with those keys.
The solution is to turn this into a BIP, so that the protocol will be preserved and maintained. Until that happens it is ill advised to use this - rather use n of m multisig wallets, each with its own passphrase.
I have tried a bunch of different length seeds. The ones between 12 and 21 words work fine. I used this site to generate them: https://iancoleman.github.io/bip39/
When I use a 24 word seed it throws an error.
ubuntu@ubuntu:~$ seedsplit split -t 2 -s 3
Enter seed mnemonic:
readline.js:1015
throw err;
^
TypeError: Invalid entropy
at Object.entropyToMnemonic (/usr/lib/node_modules/seedsplit/node_modules/bip39/index.js:95:37)
at shards.map.shard (/usr/lib/node_modules/seedsplit/lib/seedsplit.js:16:18)
at Array.map (native)
at Object.split (/usr/lib/node_modules/seedsplit/lib/seedsplit.js:14:31)
at result (/usr/lib/node_modules/seedsplit/bin/cli.js:29:36)
at prompt.get (/usr/lib/node_modules/seedsplit/bin/cli.js:60:7)
at /usr/lib/node_modules/seedsplit/node_modules/prompt/lib/prompt.js:336:32
at /usr/lib/node_modules/seedsplit/node_modules/async/lib/async.js:154:25
at assembler (/usr/lib/node_modules/seedsplit/node_modules/prompt/lib/prompt.js:333:9)
at /usr/lib/node_modules/seedsplit/node_modules/prompt/lib/prompt.js:342:32
I've tried this on two different installs.
I've been waiting to use something like this for a while, but the problems are as follows:
I'm a technical person surrounded by non-techie loved ones. Anyone I would will my seed to would basically have a next-to-zero chance of restoring it with current tools that utilize SSS. Additionally, the existing tools are not standardized and thus you can not simply tell someone to use the SSS algorithm to recombine the secrets, it doesn't work because they don't all follow the same exact format or algorithm. (I blame the fact that this was never standardized). The program must encompass most if not all of the following traits:
My experience with node thus far is that what is built with it often involve a deep network of dependencies that may drastically change, fall out of availability, and generally bit-rot over time. What strategy is being used to protect against that?
The shamirs secret sharing library used is outdated and causes node to output a deprecation warning. Investigate other libraries or update secret.js.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.