Running Coinbase multisig-tool locally on Linux

19 replies 451 views
chad21Full Member
Posts: 55 · Reputation: 357
#1Feb 18, 2025, 11:39 PM
So, after Coinbase scrapped their multisig vault back in 2018, a third-party multisig-tool popped up on Github. But guess what? That one stopped working too. From what I read in this thread, there's a forked version that still functions alright, but you gotta run it on your local machine. I’m kinda stuck with the setup instructions on Github, so I would really appreciate some help to get me through the rest. Here’s what I’ve done so far: - Installed Linux Ubuntu on an old computer - Set up npm and browserify - Cloned the repo from Github In the terminal for the multisig-tool repo, I ran these commands: - npm install bitcoinjs-lib - npm install save bip38 - npm install bip38 crypto-browserify save - browserify -r bip38 -s Bip38 > lib/multisig/bip38.js The last command didn’t give me any output in the terminal, but I do see the "bip38.js" file created in the lib/multisig folder, so I think it might've worked. What other steps do I need to take before moving ahead? When I type "make run", I hit this error: cd lib/multisig && \ ../../node_modules/.bin/browserify -r ./vault -r ./views/addresses_view > ../../multisig.js python -m SimpleHTTPServer make: python: No such file or directory make: *** [Makefile:2: run] Error 127 Looking forward to any help from you guys. Big thanks to o_e_l_e_o for being super helpful in DMs.
4 Reply Quote Share
coin_sigmaLegendary
Posts: 1275 · Reputation: 5553
#2Feb 19, 2025, 03:48 AM
Never use this Coinbase vault recovery before but based on what I understand from the guide on Github under the "make run" it looks like a permission issue. That is I think it suggests running Chrome with this parameter "--allow-access-from-files" Why don't you just use the hosted one since it's ready to use? They do only need the online on the first step when pasting public keys after they found balances you can now turn internet off and start the recovery process.
2 Reply Quote Share
LuckyCoinLegendary
Posts: 832 · Reputation: 4795
#3Feb 19, 2025, 05:03 AM
The error is trying to tell you that you need to install Python (2, not 3). SimpleHTTPServer is a Python 2 class and it has been deleted in Python 3. And Ubuntu makes it particularly hard to install Python 2 in recent versions of the distro, so you should start with an older Ubuntu version such as Trusty (14.04) or Precise (12.04) that have Python 2.7 bundled.
0 Reply Quote Share
hash_bossLegendary
Posts: 1166 · Reputation: 5261
#4Feb 20, 2025, 03:59 AM
Not only Ubuntu, but most newer version of linux distro. And i'd recommend to use Debian 11 since it's newest version of Debian and still ship Python 2.7[1] rather than using EOL version of Ubuntu. [1] https://packages.debian.org/bullseye/python2.7
2 Reply Quote Share
chad21Full Member
Posts: 55 · Reputation: 357
#5Feb 20, 2025, 09:18 AM
All your replies are much appreciated. I will try to install either Debian 11 or one of the older Ubuntu versions. The hosted version is not working correctly anymore (since years). According to other threads it's due to an SSL handshake error with an api at bipay.com. After inserting the 3 xpub keys in step 1, it generates a list of empty addresses followed by the "failure" message next to each address. Could you please tell me how I can set this up in Linux? Would I still need to perform the other steps?
4 Reply Quote Share
chad21Full Member
Posts: 55 · Reputation: 357
#6Feb 20, 2025, 02:33 PM
I launched Chrome with the "-allow-file-access-from-files"  parameter by typing the following command: "./chrome --allow-file-access-from-files" What is the next step? Am I supposed to open the index.html file? Because using Chrome to simply use the web version is not an option as the API is broken (I tried it again, which resulted into "Failed!" addresses.)
1 Reply Quote Share
jake.chainSenior Member
Posts: 280 · Reputation: 1307
#7Feb 20, 2025, 02:55 PM
Yes, open your local copy of index.html. Once you open it, hit F12 on your keyboard and click on the Console tab. Does it show you any errors?
4 Reply Quote Share
chad21Full Member
Posts: 55 · Reputation: 357
#8Feb 20, 2025, 08:09 PM
Ah good to see your reply Leo! It only says the following:
0 Reply Quote Share
jake.chainSenior Member
Posts: 280 · Reputation: 1307
#9Feb 20, 2025, 10:24 PM
This means your --allow-file-access-from-files isn't working as intended. I've never used Chrome so can't advise otherwise here. I use the alternative HTTP Server method instead, which works just fine. Did you make any headway on that? The command given above is for Python 2: If you are using Python 3, try the following command:
0 Reply Quote Share
chad21Full Member
Posts: 55 · Reputation: 357
#10Feb 21, 2025, 12:28 AM
Is the alternative "HTTP Server method" the "Running Locally" / make run method? I installed the BitcoinJS library. And if I'm not mistaken, I performed BIP38's step 1 & 2 correctly: However, I haven't been able to figure out what I've to do in this following step: I also can't make out what you mean by the "python3 -m http.server" command, I have Python 3.10.6 but what do I have to do after I enter that command (and should it be in the multisig-tool respository? I'm sorry, I'm a complete beginner and don't know what I'm doing so I need to know every step no matter how basic it is.
0 Reply Quote Share
ColdAlphaSenior Member
Posts: 242 · Reputation: 1420
#11Feb 21, 2025, 03:20 AM
Could well be a permission issue, Linux requieres several permission levels. Have you tried running it as sudo (root)
1 Reply Quote Share
coin_sigmaLegendary
Posts: 1275 · Reputation: 5553
#12Feb 21, 2025, 07:29 AM
I think you did it wrong that is why you get this error. Would you mind to try to put the flag on the launcher properties dialog? Look for the chrome launcher open the properties dialog and you should see something like this below And replace it with this This will make  --allow-access-from-files permanent but you can change it later if you didn't need it anymore. And don't forget to re-pin the launcher after modifying it.
3 Reply Quote Share
jake.chainSenior Member
Posts: 280 · Reputation: 1307
#13Feb 21, 2025, 10:33 AM
The make run command simply compiles the multisig.js file (which seems to be working fine for you - you can tell for sure by the presence of a file called multisig.js in your multisig-tool folder), and then attempts to launch an HTTP server. Running an HTTP server is the alternative to trying to launch chrome with --allow-file-access-from-files. Since the make run command is trying to launch an HTTP server using a Python 2 command, and you have Python 3 installed, then instead of using make run you can just launch the HTTP server directly using the command I gave above: You should run it from your multisig-tool folder, the one with "index.html" in it. Open a terminal here and enter the command. If it has worked, it should say something like: Then you just open any web browser, and navigate to that address - http://0.0.0.0:8000. The tool will load and hopefully(!) be fully functional.
4 Reply Quote Share
chad21Full Member
Posts: 55 · Reputation: 357
#14Feb 21, 2025, 01:26 PM
Indeed, the multisig.js file is in the multisig-tool folder. However if I'm not mistaken it was already there (the icon however is changed from a notepad thingy to "JS" in big yellow letters). Also entering "python3 -m http.server" in the same repository terminal did indeed show "Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/)". And typing "http://0.0.0.0:8000" in the browser did automatically show the Coinbase Multisig Vault recovery tool similar to the web version. However, after entering the 3 xpub keys, I still got the exact same list of addresses, followed by a "Failed!" message and each address turning red, as I did before (using the web version)
0 Reply Quote Share
jake.chainSenior Member
Posts: 280 · Reputation: 1307
#15Feb 24, 2025, 01:07 AM
What error do you see in the console (F12) now?
3 Reply Quote Share
chad21Full Member
Posts: 55 · Reputation: 357
#16Feb 24, 2025, 02:22 AM
:8000/favicon.ico:1          Failed to load resource: the server responded with a status of 404 (File not found) Also as soon as I go on "http://0.0.0.0:8000/", then the terminal shows these 2 messages: -code 404, message File not found -"GET /favicon.ico HTTP/1.1" 404 -
4 Reply Quote Share
jake.chainSenior Member
Posts: 280 · Reputation: 1307
#17Feb 24, 2025, 04:02 AM
Being unable to find a favicon file is irrelevant. This is simply the little logo icon that different websites use. In the absence of any other errors, something is stopping your browser from correctly fetching the balances. Your browser can visit other websites normally? You don't have any firewall or similar running? The first thing I would try would be to open a terminal in the usual multisig tool directory, and then run the following two commands: The first will delete the multisig.js file (which is responsible for this look up); the second will recompile it from scratch. This is to rule out any error in the file. If that doesn't work then I'm afraid I'm running out of ideas...
0 Reply Quote Share
ColdAlphaSenior Member
Posts: 242 · Reputation: 1420
#18Feb 24, 2025, 09:36 AM
If that doesn work post your permission sets of the folders/files which cause issues.
1 Reply Quote Share
chad21Full Member
Posts: 55 · Reputation: 357
#19Feb 24, 2025, 02:02 PM
-Firewall is inactive. -I am connected to a VPN however. -Tried both Firefox and Chrome. After the make clean & make compile command, I did the "python3 -m http.server" again but this time got this error: BrokenPipeError: [Errno 32] Broken pipe Also Chrome's F12 now shows 165 issues: -- (Changed the address in the error code just in case it's not safe to share publicly). The other issues are basically a repeat of the above but with all the other addresses in the list. Btw, user "HCP" also mentioned something about the "Insight API" missing in this thread: https://bitcointalk.org/index.php?topic=5316286.0 Not sure if ChatGPT explained correctly on how to do this but I typed "ls -l" in the multisig-tool directory and got the following:
3 Reply Quote Share
hash_bossLegendary
Posts: 1166 · Reputation: 5261
#20Feb 24, 2025, 04:52 PM
I did quick testing on Debian 11 and it seems to works. But i can't verify whether it works on next step since i only have 3 xpub generated from https://coinb.in/#newHDaddress. Here are the steps, 1. Check my environment. 2. Setup and run multisig-tool. 3. Open on Firefox by typing localhost:8000, enter 3 xpub and click continue. Here's the screenshot some time after i click continue. Take note i assume it works since, 1. Firefox only show error message about favicon on it's console (F12). 2. I do not see "Failed!" message or each address turning red.
3 Reply Quote Share

Related topics