WBD318 Audio Transcription

WBD318+-+Shinobi+-+Large+Banner.png

Bitcoin Tech #2 - Nodes (Part 2) with Shinobi

Interview date: Sunday 7th March

Note: the following is a transcription of my interview with Shinobi. I have reviewed the transcription but if you find any mistakes, please feel free to email me. You can listen to the original recording here.

In this interview, Shinobi helps me set up Tor, Bitcoin Core and Specter, and we discuss the difficulties for non-technical people, UX and why running a node is essential.


Interview Transcription

Peter McCormack: Shinobi, you're going to tell me off, aren't you?

Shinobi: Oh no.  No, just going to say, "Hi, what's up everybody?".  I'm just sitting in front of my brand new Bitcoin Core node that is 98% done syncing.  I just set it up for fun, you know, after the last episode.

Peter McCormack: You're such a show-off, man.  Listen, we're recording all of this.  I'm going to talk you through all of it because I think I'm going to get some people empathise with this.  By the way, no show has produced more emails and DMs than the last node show, it's really fascinating.  A lot of people going, "Yeah, I've got no idea", which makes me feel better.

Okay, so my Mac mini synced, right, and then the first step was to install Tor, right?  This is what I did; I am going to literally talk you through it.  Where is it; Tor Project Installation?  I don't even have the link anymore.

Shinobi: See you're about to learn the downside of having Apple tightly control everything on a computer and how much of a headache it is to go around that.  I think that's pretty much at your end.

Peter McCormack: Well, maybe.  Look, firstly I set up the Mac mini fresh and I went through all these things that I should do to keep it private.  I installed a VPN, so what's wrong with just having a VPN?

Shinobi: Strictly speaking nothing but Tor is just a little better in the sense of with the VPN they know what you're doing but when you're connecting to Tor, those Tor nodes that you directly peer with, they don't know what you're doing.

Peter McCormack: What does that actually mean?

Shinobi: Think of it this way; when you use a VPN or anything like that, the idea is you are trying to hide from your internet service provider what you are doing.  You can do that with a VPN, but then whoever runs that VPN can see all the stuff that your internet service provider used to be able to see; but when you use Tor because of the onion routing, like the people you directly connect to on Tor, they don't know what you're doing like a VPN or an ISP would.

Peter McCormack: Right, okay.  I'll tell you a couple of interesting things.  Firstly, I've got a wireless mouse and keyboard and obviously, you need the same for your Mac mini to get it to work; and trying to flip between a wireless mac and a keyboard from my Mac mini when I'm not using it to my laptop was so annoying, I ended up just buying another one, so I've got two sets here so I'm going to be going between the two.

Also, after this I'm going to have another go with my Pi, once we're done; I'm going to try again with that because I think it might be the SSD.  Somebody put a note up saying that if you're using one that was designed for a camera, it might not work, so the SSD was one I had lying around from -- that was for a camera.

Shinobi: Okay, that definitely sounds like it could be the explanation there; if it was having errors and had to deal with that every couple, whatever.

Peter McCormack: Right, so anyway let's talk about what I went through.

Shinobi: Was the forest of the command line terminal scary, Peter?  Were there scary noises?  I'm sorry.

Peter McCormack: I tell you what I don't mind command line because I tell you what when I very first got into crypto, I bought some Monero, and I had to interface with the command line for that and follow instructions for that.

Shinobi: Okay, Peter, I'm going to paddle you like a nun, back when nuns taught school.  You have set up a Monero node, Peter.

Peter McCormack: No, a wallet or something, I don't know.  Whenever I first bought Monero, all I knew is there was like this getmonero website or something that seemed a bit like -- I didn't trust having my Monero in there, so I set up something locally and it was command line and I followed the instructions; and I basically stored it and then I never moved it again until there was like a GUI for it, which was I think a couple of years later.

Shinobi: Depending on when this was, Peter, I think what you did was set up a Monero node.

Peter McCormack: Without even knowing it?

Shinobi: Potentially.

Peter McCormack: That is possible, but I wouldn’t have known I'd done it and if I did it was by accident.  So, anyway what I did is the first job is to install Tor, right.  So, did a Google search, found the instructions and it says here, "Install a package manager.  There are two package managers on OS X: Homebrew and Macports.  You can use a package manager of your choice".  So, I was like, "I'll just go with the first one", but I've got no idea what a package manager is or why I should care.  What is a package manager?

Shinobi: Think of it like an app store except not for normies.

Peter McCormack: Okay, so that allows you --

Shinobi: Think of it like a command line app store, that's pretty much what that is.

Peter McCormack: Okay, so I've got Mac mini here, with my VPN and so I followed those instructions, so I installed Homebrew.  Yeah, I don't mind looking at command line and using it, but I have to copy and paste everything it's telling me; I don't understand the instructions; I've got no reason to know what they are.  But the next point we got to is that -- hang on, 92 blocks to sync.  Right, so, let's open up command line, right?

Shinobi: So, wait you did get it syncing, just not the Tor part set up, so everything else you got done?

Peter McCormack: Yeah, I'm fully synced.  I got Core synced, okay.

Shinobi: Awesome then, we are winning a lot harder than I thought we were.

Peter McCormack: So, we've got my terminal open, right and the next instruction is, "Brew install Tor", right.  I do that; it looks like it's doing it this time, "Updating Homebrew".  That's so weird because you remember last time I did this, it didn't work.

Shinobi: Well, I think that's because remember, after it didn't work the first time, I had you run that command to like put it in your system settings.

Peter McCormack: Yeah.

Shinobi: Here is one just general thing about command line stuff, when you're going outside of the package manager that comes with the operating system.  If you just go get stuff from an outside source and install it, a lot of the time the app store or the package manager from the operating system, like in Linux's case, when I go install something from the package manager, it will install settings in the system so that anywhere in the command line I can just type like, "Bitcoin QT" and it'll launch. 

But if you do things yourself sometimes it won't set that, so you have to set that kind of setting manually or find the actual folder that it put the compiled program in, and then run it from there.  I think what happened there was, you skipped that stuff on accident.

Peter McCormack: All right.  Well listen, I think just going through this process, I am lucky I've got you to help me, and other people might have that; but I think a lot of people would just give up on this like, "I have no --".  I think some people will just install the Tor browser and think they've installed Tor and other people will go through this process and they'll just be like -- they'll have to follow the instructions but they're going to be like, "I have no idea what's going on here", but anyway, so I've done that.

Shinobi: I mean if you can get over the hurdle, and just use the Tor browser and set up Core, I mean that's an option.  I wanted you to play with installing Tor on its own; one, just to see if you can do it; and two, I just think that it's safer and easier that way because, depending on how you set the settings for everything, if you did not set Bitcoin Core to only talk over Tor and nothing else, but then you accidently closed the Tor nrowser, there goes Tor; and now it's only communicating over…

Really in the grand scheme of things you can set it up with the Tor Browser to work fine and safe; I just think that's kind of hacky and I think people should install stuff if they can so it will just always be running on their operating system.  When they turn their computer on, Tor is just already there, they don't have to go open the browser, you know what I mean?

Peter McCormack: Right, okay, so this terminal thing, I obviously can type stuff in it and get it to work; but to really understand what's going on there, this isn't about being a programmer, right.  This is just about interfacing with the computer outside of a mouse and a keyboard; this is directly interfacing with the computer, yeah?

Shinobi: Yeah.  I mean I'm no programmer, I can barely write a basic Python script but command line, if you can get comfortable with it, it's a lot more flexible to do things that are way more obnoxious to go figure out how to do in the menu with like a mouse and a keyboard, or whatever.

Peter McCormack: Should I go and learn command line; should that be on my to-do list?

Shinobi: Given the fact that you make so much content in this space, yes.  Most of the listeners who are probably going to be hearing this, I mean unless you want to start diving deeper into installing stuff in this space, handling things yourself, then really, yeah; go learn, have fun.  It's a valuable skill, but you don't really need it beyond just don't be scared if you're copying and pasting commands from a tutorial or something.

Peter McCormack: Okay, all right well listen I've done that, I've installed Tor.  Now, "You will find the sample Tor configuration file at, etc… remove the sample extension to make it effective".  Does that make sense to you?

Shinobi: Yeah, it's pretty much the config file for Tor isn't set up yet.  So you're going to go to the directory that that's in, and then whatever it tells you to change the name of the file extension to, change the name to that.  So then that way, Tor will --

Peter McCormack: So, it says, "You will find a sample Tor configuration file at /usr/local/etc/tor/torrc.sample.  Remove the --" how do I remove the ".sample" extension?

Shinobi: You're going to have to go to that folder, rename that file and just delete it.

Peter McCormack: That's the interesting thing, so I think this tutorial here is making the assumption that I would know those basic command line instructions, but I don't even know how to do that.  So how do I do that; do I just type that file directory in, do I copy that?

Shinobi: If you want to stick with the command line, do, "cd[space]" and then enter that whole file path that it just gave you.

Peter McCormack: Okay, I'm going to do that so people listening know that I'm typing that in.  What does "cd" mean?

Shinobi: Change Directory.

Peter McCormack: Whenever I do that, that's suddenly the directory I'm in.  What's my default directory?

Shinobi: Just your home folder.  If you just type "cd" by itself that should automatically take you to whatever your home directory is on your system.

Peter McCormack: Okay, so no such file or directory.

Shinobi: Did you make sure to put the slash at the beginning of the first part of the file path?

Peter McCormack: Yeah, I made a mistake.  Okay, "cd sample", singular.  Am I meant to put a dot after the sample?

Shinobi: No, okay I think that the file name, the last part of that after the last slash, don't put that in.  Remove that just so it's the last slash before that, like user then the next folder and the next folder but the file name at the very end, don't type that.

Peter McCormack: Am I meant to change user to me?

Shinobi: No, right now we're just getting you to the folder where that file is so that you can change the file name.

Peter McCormack: Yeah, so it's coming up, "cd no such file or directory".

Shinobi: You typed the actual file name at the end of that directory, right?

Peter McCormack: So, you don't type that file?  Okay, but should I have the forward slash after the final one or not.

Shinobi: It shouldn't matter.

Peter McCormack: No, "No such file or directory"; it's just not finding it.

Shinobi: All right, I need to see what you're typing.  Before you type "usr" are you putting that slash before that?

Peter McCormack: I am putting that slash before it.

Shinobi: All right, try "cd/usr", just that.

Peter McCormack: Yeah, Peter McCormack at Peter's desk mini and then I've got, "/usr%", so I'm going to do cd local and work our way through it?

Shinobi: Yeah, exactly what I'm getting at.

Peter McCormack: Okay.  "No such file", "Directory was local".

Shinobi: Try, "Peter McCormack", you said there was one with your name; go in there and then go from there.  Pretty much slow step through everything, but replace local with that file, your folder.

Peter McCormack: What "cd/petermccormack"?  Nope.

Shinobi: If you just ran Linux like a proper artist, Peter, this would have done in five minutes.

Peter McCormack: Yeah, well then that's another thing for me to buy and try, but can you see how people just give up on this shit, they're just like, "Argh".

Shinobi: Yeah, Pete, here's this random tangent.  Here's why so many of these node in a box platforms and software stacks are all on Linux because it is so much easier to just make this work.  Like you're on a Mac right now struggling to bypass the official Apple data system where they have the approved apps and stuff they sign off and you just can just download them, and it's obnoxious.  Linux, Tor is in the package manager it comes with.  It would be typing two things and Tor is there and then you click "Core" and it's running, and you click whatever else and hook it up and you're done, but like it's the --

Peter McCormack: But.

Shinobi: Yeah, almost nobody runs Linux.

Peter McCormack: People don't have that.  How are we going to get past this usr thing?  We're in usr and we can't get to local.

Shinobi: Actually, this is probably something I'm going to have to do a little poking and research at, because I don't use Mac.  The command line and the structure for that is very similar to Linux for Mac OS, but aside from that there's all kind of lockdowns, restrictions.

Peter McCormack: Is there no way just to see the directory list?

Shinobi: Yeah, if you type "ls", that'll show you all the folders in the directory you're in right now.

Peter McCormack: So, "x11 bin", you see it says, "Local"; it says it.

Shinobi: Someone has to be making a typo then.

Peter McCormack: I'm telling you I can see it and I'm typing, "cd/local".

Shinobi: Aha the forward slash, try it without that, because you are in that directory right now, instead of referencing it from somewhere else.

Peter McCormack: That worked, that worked.

Shinobi: There we go.

Peter McCormack: Because then we're going to go -- okay so we're making progress.  "cdetc".  Right, so what I was the thing I just put, "ls"?

Shinobi: Remember no forward slash; just try it without the forward slash.

Peter McCormack: Yeah.  I've done that, it's not working.  I've got, "ls", and it's just not showing anything.

Shinobi: I feel like file paths are getting screwed up here.

Peter McCormack: I'm doing the "ls" and it's not showing anything, when before it did.

Shinobi: Hit "cd .." and then enter, and that'll move you back up the directory tree one back from where you've been.

Peter McCormack: Yeah, okay, I'm back in.  I do an "ls" and I see "local".

Shinobi: Okay, what else is there besides local?

Peter McCormack: I've got x11, x11R6, bin, lib, libexec, local, sbin, share, standalone.

Shinobi: All right, I feel like this put this in the wrong place and this is going to be an adventure trying to find it.

Peter McCormack: I think I know where it might be.  This might weird you out.  How do I get back to the root where I was trying to put the whole thing in?

Shinobi: Just "cd" and nothing else.

Peter McCormack: So, it says below, "if you're using Macports go to opt/opt/local", right.  So, I've gone into the "opt" one and it says, "Homebrew".

Shinobi: Start diving down that path and let's see what we find.

Peter McCormack: All right, here we go, "cd", and we've got it, I've found the file, "torrcsample.sample", so I have to remove the ".sample".  How do I do that?

Shinobi: First we need to get our witches' spell book and draw a pentagram around the computer desk.

Peter McCormack: Dude, we got there.

Shinobi: So type, "MV torrc.sample [file name] torrc" and hit enter.  Now, hit list again and tell me if changed the name.

Peter McCormack: Done it, we're done.

Shinobi: All right, see that is a weird quirk with Linux and Mac command line stuff; that's the command to just move files between different folders but it can also be used to move "a file" to the same place with a different name.  It's like the moving from different folders and renaming is the same command there.

Peter McCormack: Basically, the instructions on the Tor website are wrong for whether you install Homebrew and Macports.  It's put it where the Macports thing is.

Shinobi: Yeah, obviously right now, but I'm not sure what caused this, you know what I mean?  It might not be that the instructions are wrong; you could have done something wrong, or your system is newer --

Peter McCormack: True, true.

Shinobi:  -- and it just handled things differently, you know what I mean?

Peter McCormack: We got there, okay so step three, "Configure your application to use Tor".  To use SOCKS, what's SOCKS?

Shinobi: It's just a standard for different programmes to talk to each other and make sure that they're only going out to the Internet through certain protocols.

Peter McCormack: So, "You can point your application directly at Tor localhost port 9050.  This may be dangerous for example…"  I've got a feeling I now need to open up Core and configure my ports; is that correct?

Shinobi: Well, indeed, you're going to have to go into Core in the settings to the network thing and, yeah.

Peter McCormack: Preferences, right okay.  "Connect through SOCKS proxy 5, default proxy", so I check that.

Shinobi: Then go down and check the Tor box, used for reaching peers via Tor, and do that.

Peter McCormack: Hang on, I've got two things there, "Connect through SOCKS proxy, default proxy", and also "Use separate SOCKS proxy to reach peers via Tor Onion Services".

Shinobi: Just check the first one, "Connect through SOCKS proxy".

Peter McCormack: Okay.

Shinobi: Then under that --

Peter McCormack: Connect?

Shinobi: Tor.

Peter McCormack: It won't let me connect that, "Click restart required to activate changes".

Shinobi: Okay, yeah, you're just going to have to restart that and then go in there.  But then also here's the -- I need to go double-check a setting, one second, because once you've got that set up, we're also going to want to change something in the actual config file too.

Peter McCormack: "Verify my blocks, used for reaching peers via IP4, IP6 and Tor" are all checked but I can't actually -- they're all checked now but I can't actually uncheck them.

Shinobi: You have "Connect through SOCKS" checked and then you have the Tor box checked, right?

Peter McCormack: Yeah, but I can't uncheck it; before it was unchecked, now it's checked, but it's still greyed out.

Shinobi: Okay, yeah that's fine, that's working.

Peter McCormack: Okay, so that's done.

Shinobi: Now, let's go double-check what this bias setting we want to add to the conf file is.  Don't you wish these apps just had elevator music buttons?

Peter McCormack: I just wish you just press like one button and everything just worked.

Shinobi: Yeah, but then you got to trust that that one button's working properly.  Sorry, scrolling through, stop and decrypt's massive fucking guide, I'm compiling things you --

Peter McCormack: Yeah, I looked at his guide and went, "Oh God".

Shinobi: I mean, this is a way to make sure that you're running what you want to be running; it's just worked.

Peter McCormack: True, but I'm going to imagine that less than 0.1, even less than that, maybe 0.01% of people do this.  I'm glad I'm doing it and I'm glad I've got people like you to help me, but it's just going to be too much.  That's going to be my sort of -- ultimately what you want, you want Ben Kaufman to design the wallet that has Bitcoin Core as part of it and automatically connects via Tor.  If you're listening Ben, hurry up, man.

Shinobi: Yeah, sorry, just scrolling.  I knew I should have fucking made sure to have this stuff ready in case we actually got this working live.  Oh, right, got it.  Okay, so you see the option to open the configuration file in the network settings?

Peter McCormack: Yeah.

Shinobi: Click that.

Peter McCormack: Yeah.

Shinobi: I am sending you the two lines that you want to add for that over Keybase.  It's going to be, "onlynet" with no spaces, "=onion".  Then on the next line you want to type, "proxy=" with no spaces, "127.0.0.1:9050".

Peter McCormack: What do these two things mean?

Shinobi: It's forcing the connection to go through the proxy over Tor you set up and specifically saying, "Only connect to nodes on Tor".

Peter McCormack: Cool that's done, we're done.

Shinobi: All right, now to make that take effect all you got to do is reset the node again and then let's see if we got it working right.

Peter McCormack: Right, we're open.

Shinobi: All right, now what you want to do is go into the Windows section and click, "Peers", and then hopefully if this working properly all you should see is Tor addresses.

Peter McCormack: I don't see it -- under what?  Under "Peers" I don't see anything.

Shinobi: Okay, then just give a second, it's because the node's just started up again so it's got to find Peers.

Peter McCormack: Okay.  What's going on when it's doing that; how is it finding peers?

Shinobi: When a first node first starts, pretty much a lot of developers have special nodes they run called DNS seed nodes and there's actually like domain names hooked up to those.  And so what your node will do the first time you ever turn it on is, it will connect to those seed nodes and it will just ask them like, what are the IP addresses or whatever for other nodes on the network, and then start connecting to those. 

Then pretty much every time you turn your node off, it just remembers all the peers it's interacted with and when you turn it back on it'll try to just connect to them again and then ask them for more peers to have options.  In the worst case, if all of the nodes you used to connect to are gone, then it'll just ping that seed node again and then go, "Give me some more nodes to connect to".

Peter McCormack: Right, okay.  It's not found any yet.  Whilst we're waiting should we set up Specter?

Shinobi: We've got our Tor working, let's go for it.

Peter McCormack: We hope we got Tor working, I haven't got any peers yet.

Shinobi: If you don't get peers soon, that's something we can handle by manually adding peers.  I just feel like we've made much more progress than I thought we would.  We have Tor installed properly, we have Core hooked up to Tor, even if it hasn't found peers yet.  This is winning, Pete; this is what winning looks like.

Peter McCormack: All right, so I'm going to Specter to go and download this.  A couple of interesting things; I messaged Ben, I hope he won't mind me saying this, even here I was a bit lost on the home page and I was like, "Okay, open-source products", okay, cool, "Desktop multisig made easy" and I was like, I don’t want to do a multisig, I just want a normal single signature wallet.  The first thing there it says, "Create multisig", and I was like, "I don't want to create multisig".  I realise it's just a video to tell you about it.

I was like, "Where's the button; where's the download button?"  Then it was like, "Protect your privacy", "Connect to Specter", just got, "Download from GitHub", and I was like, "I don't want that, I just want to download the software".  Then I realised you had to get it from GitHub, I was like, "Okay, I hate downloads from GitHub", I just want to have a big download button.  I know it sounds weird, but I get mild anxiety on GitHub.

Shinobi: But why?

Peter McCormack: I don't know because it just -- I'm used to going to websites that say, "Download" and whatever you want to download just downloads; I'm not used to being taken to other websites to do this.

Shinobi: It's just the place where they keep the code that you can't read, Peter.

Peter McCormack: Hang on, hang on, so I've got it; I'm going to install Specter now.  So that's installed so I go to my applications, "Open Specter", and see what happens here.  Okay, got Pacman; Pacman's running around.  So, "Welcome to Specter desktop, the convenient wallet interface to be able to use your Bitcoin Core node". 

Okay, "Connect Specter to your Bitcoin Core node; need help?"  I don't need help I've got Shinobi.  Okay, "I have Bitcoin Core node on this computer", okay, click that.  Specter should be able to autoconnect detected.  "Your node must be configured with server=1 line in the Bitcoin conf file", so do I need to go and do this now?

Shinobi: Yeah.

Peter McCormack: So, I copy that bit and go and open that file we had previously.

Shinobi: Then just go to the next line; add that, save, restart.

Peter McCormack: So even that, I would have been like -- if we hadn't had this conversation, I'd have been like, "The node must be configured, yeah add this to config file", then I would have been Googling config files, what are they?  How do I get to it?  Anyway, that's done, that's saved, goodbye.

Shinobi: Yeah, I should have prepped better for this.  I'm trying to download this to do in parallel and, yeah, my internet sucks.  It's been five minutes to download 80 megabytes.

Peter McCormack: This is going to be the weirdest episode.  People are listening and probably thinking, "Well, I just want to see your screen"; sorry you can't see it.  I think this show is going to be more useful for devs than it is for the newbs, where can actually hear what someone like me is doing.

Okay so that's done; that's fine.  And then, "In addition you can check out these video tutorials", okay.  So, "Connect Specter to your Bitcoin Core node.  Bitcoin auto connect"; what's this?  "Disable auto detect to configure manually, username, password, port".  What?  I'm just going to click "Test" see what happens.  "Test passed, I don't need to -- ", so I'm just going to click save and hopefully that works.

Hold on.  So to do this it says, "To save or auto detect to configure manually", but I don't want to configure manually; so am I already connected?  This is -- I am really confused again, authentication, I'm so lost.

Shinobi: In about 60 seconds I can literally start hooking this up to my new node in parallel and we can figure it out.

Peter McCormack: Right, okay.  I know some of the nerds are going to get really angry at me now.  They're like, "How do you fucking not know this?"

Shinobi: They're going to get angry at me.  Shinobi confession time; I've actually never run Sepcter before.  I've just looked at the features and paid attention to the development because I like nodes that you can hook up to -- wallets you can just hook up to your node.

Peter McCormack: I think I'm going to back to trying my Pi and also Embassy.  I think I'm going to have a play with the Embassy one again.

Shinobi: I definitely would say keep playing with all those things Peter, but this recording is ending with this set up being functional.

Peter McCormack: No, we will get it done.  It doesn't feel like we're far off.  I think I could really help with some -- if this stuff is designed for nerds, then fine but if you like you want to get normal people using it, I think I can help.

Shinobi: I love it, it's even an app image for the Linux release.  All right, Shinobi's Specter is almost live to start connecting.  So, I take it you are at the, hooking up Bitcoin Core, still?

Peter McCormack: Yeah, so I look at it, I see it and it says, "Bitcoin JSON-RPC configuration", which means nothing to me, "auto detect" --

Shinobi: Just scroll down.  If you added server=1 to your node, just hit the test button and tell me if it passes.

Peter McCormack: No, I did that, and I get tick, tick, tick and a bunch of stuff, so it passes; but I haven't clicked connect at any moment, so the test has passed and I'm thinking, "Am I meant to click something now to connect, so I know it's connected?"  How do I know it's connected?

Shinobi: It says it passed.

Peter McCormack: It passed a test, yeah, but like in my head logically it says, "Did you want to auto", and I'm like, "Okay yeah", and I click, "Test", but there's no like final connection button, so at this moment in time I didn't realise I was connected; but that's cool that I am.  "General, backup and restore, Specter data backup"; why would I want to do a backup and how often should I do a backup?

Shinobi: Any time you add new keys or anything that are managed by Specter itself.

Peter McCormack: Right, okay.  "Authentication, none.  Password protection"; should I add authentication?

Shinobi: For now, let's just get this simple and up and running.

Peter McCormack: "HWI Bridge", I don’t know what that means; "Whitelist of things, whitelist domains".

Shinobi: That's the --

Peter McCormack: I don’t know what any of this is.

Shinobi: That's the hardware wallet thing.

Peter McCormack: Okay and then, "Tor, Tor configuration, set up port, test for connection.  Failed to make test request over Tor", I've had an error.

Shinobi: Does it say anything?

Peter McCormack: Yeah, it says, "Failed to make test requests over Tor error.  SOCKS http connection poor.  Host=[a bunch of characters].onion.  Port=80 max retries exceeded with url caused by new connection error.  URlib3.contrib.socks.socks connection object app failed to establish a new connection.  Errno 61 connection refused".

Shinobi: All right that is a bunch of error messages that I'm going to need to -- okay.

Peter McCormack: "Toggle this on to ensure Specter removes all cores external over Tor proxy."  Should I have done that first?  Let's try now; no, the same.

Shinobi: Well, you see the little arrow on the left side?

Peter McCormack: Arrow on the left side where?

Shinobi: In Specter?

Peter McCormack: I've got, "Add new wallet or add new device", on the left-hand side.

Shinobi: Does it show your version of Bitcoin Core at the top and how many blocks?

Peter McCormack: Bitcoin, yeah, 673446.

Shinobi: Well, Peter, guess what?

Peter McCormack: I'm connected.

Shinobi: You won.  I mean we still have to go and make sure that your node's finding peers over Tor because sometimes that's a little difficult, but you won, you have Tor, you have Bitcoin Core set up; you just hooked up a wallet that you can use hardware wallets, leave keys in Specter itself.  You have a wallet connected to a node, Peter [applause] you just fucking won!

Peter McCormack: Hold on, hold on, why when I do, "Test for connection", am I getting a failure, an error?

Shinobi: I'm assuming that that is just for stuff allowing you to connect to Specter remotely, or if Specter has to connect to something besides your node; but right now, that wallet is hooked up to your node; it's working.

Peter McCormack: Right.

Shinobi: You did it.

Peter McCormack: Let's get some peers then.  We'll see, let's get some peers, I've got no peers.

Shinobi: Okay, I am going to send you another link on Keybase; these are all separate lines that you want to add to the config file and then reset like we did with everything else, but those are specifically to add specific known nodes on Tor for your network to connect to.  These are from StopAndDdecrypt's guide, just to speed up finding peers on Tor, because it's a lot slower than over the regular internet.

Peter McCormack: Big shout out to StopAndDecrypt; his guide.

Shinobi: That's for the real artists who want to compile everything from source code yourself so that you know that code is what you're running.

Peter McCormack: So, I just copy those and where do I place those?

Shinobi: Just go into the settings and open the config file like last time and just make sure that each of those is its own line in that file, before you save it.

Peter McCormack: Right, okay, done.  Save, close and should it still take a moment to find them, or should they be instantly showing?

Shinobi: Yeah, it should take just a moment, but they should show up pretty quick if you added them manually.  Still no peers?

Peter McCormack: Nope, still no peers.

Shinobi: Try going into the option for the config file again and put a pound sign in front of the proxy option and the onlynet=onion option and then reset and see if that starts getting peers over the internet.

Peter McCormack: When you say pound sign, does that mean like the English pound?

Shinobi: No, I mean like the number sign on the phone.

Peter McCormack: I don't know what that is.

Shinobi: The four lines that cross each other like a Tic-Tac-Toe thing.  I just sent you the symbol on Keybase.

Peter McCormack: Okay.  Oh, "Hash".

Shinobi: You're old enough that you should feel shame in only associating that symbol with Twitter hashtags.  If I am, you are.

Peter McCormack: So, it put it in front of what the onlynet and proxy and nothing else?

Shinobi: That's pretty much a way so that you can turn an option in the config off without actually deleting it.  If you add that symbol in front of it, then Bitcoin ignores that setting; and if you take it away, it'll recognise it the next time you reset.

Peter McCormack: I can't close the options.  Do you ever get like bugs in Core because I can't close the options screen?

Shinobi: Did you have another window open on top of that?

Peter McCormack: It's hidden behind it.

Shinobi: That is my pet peeve because I have my systems set up so that -- yeah, let's just say if my mouse moves windows disappear behind stuff all the time.

Peter McCormack: "Welcome to Bitcoin Core".  It's says it's the first time it's been launched, what are you on about?

Shinobi: What did you do, Peter?

Peter McCormack: It has, "This is the first time".

Shinobi: We were winning.

Peter McCormack: What you told me.  "As this is the first time the programme launched, you can choose where Bitcoin Core will store its data".

Shinobi: Do whatever --

Peter McCormack: "Bitcoin Core will download and store a copy of the Bitcoin blockchain.  Approximately 8 GB of data will be stored in this directory".  I've only got 41 GB of free space because I've already downloaded it, so what do I do?  Do I just press "OK", and will it find?

Shinobi: Did you use the defaults last time?

Peter McCormack: Yeah, of course.

Shinobi: Then just do that.

Peter McCormack: Verifying blocks, pruning blockstore.

Shinobi: So, it says like it does not say it's starting from scratch, it's just checking what's already there?

Peter McCormack: Yeah, but it looks like it's trying to prune something, "Pruning blockstore".  I swear I've not changed anything.

Shinobi: Did you set it up to run as a prune node?

Peter McCormack: Nope.  See this is the problem right.

Shinobi: See something here -- what is in the config file right now, because that should not be pruning anything unless the option to prune was passed to it.

Peter McCormack: I think I've done everything you've told me.  I can't go into the preferences now because it says, "Pruning blockstore".  I hope this gives people a good indication of what a normie is like and why I've always -- despite people yelling me and telling me I'm a fucking moron, saying that I think this is too much for most people.  I'm doing this with your help and struggling; I could never have figured this out on my own. 

Specter itself, I'm looking at that and I'm nervous; these are tools that are designed for people who understand how computers work and I reckon there's a lot of people like me who will look at this and go, "What the fuck is this?"  Here we go, all right, so we're in.  We're back in.  That's weird, why did it do that?  Let me just go into preferences.  The "prune blockstore to 2 GB" is checked now; I didn't do that.

Shinobi: Well, you had to have checked that at some point but --

Peter McCormack: Then it says, "Reverting the setting will redownload".  What do I do?  Do I just leave it as a pruned one now?

Shinobi: For the purposes of just getting stuff working for this show, yes, but in future be very careful not to check that, because if you want the whole copy of the blockchain you're going to have the fun of downloading from scratch again.

Peter McCormack: It's only like 48 hours; they can do that again.  Why have the pruning option?

Shinobi: It's just for storage space.  The whole point of running this node is that it checks every block and makes sure everything in it follows all the rules, but there's no need really to keep old blocks except to have them to give to new people.  Once you have actually verified a block and the results of it, as far as you're concerned you can throw that away and it doesn't matter because you already verified it.

Peter McCormack:  Okay, so a prune node is fine.  So anyway, I'm in the peers now, I've got 0, 2, 3, it seems to be missing 1.  I've got node ID 0,2,3,4,5,6,7,8,9,10; I've got their address, the ping.

Shinobi: They're all normal IP addresses though, nothing over the Tor?

Peter McCormack: Yeah, all normal.  How would I know if it's over Tor?  What would it do?

Shinobi: It would have a big, long, giant list of gibberish with ".onion" at the end of it instead of an IP address.

Peter McCormack: No, these are all normal IP addresses and every one seems to be ending in 8333.

Shinobi: Yeah, that's the port that Bitcoin uses, but yeah, okay.  So really, it sounds like the only issue here is getting peers over Tor.  So, not 100% sure what's going on there in terms of it could just be all of those nodes have full connections, so they're not accepting connections from you; it could be an issue with Tor, it's been getting massively DDoSd periodically for the last month or two; but, yeah.

Peter McCormack: We're going to forget Tor for now; we're going to keep it as it is.  So the thing about Bitcoin Core, I never need to create a wallet in that, right, I just leave that just running and creating blocks, etc.  So, if we go back to Specter so if I do that test for connection, I wonder if that works now; no, it still doesn't.  I know this is because it's got the latest block, see that was another thing, I was always wondering how would I know if Specter is always connected to Core, but the fact that it's just telling you the block numbers, it tells you that.

Shinobi: Like I said, any competent developer is going to have a glaring signal to users so that if that disconnects, they'll realise it.

Peter McCormack: So really, I'm done; I've got my node set up; I've connected it to Specter.  We've given up on Tor but at least I've got a VPN so that's at least something.  So I can add a new wallet, I can create a single key wallet or multisig, but what I really want to do is I just want to add a hardware device.

Shinobi: This is a really important thing to mention, especially with the accidental pruning happening right now.  If you have a pruned node and you hook a wallet up, like Specter, to that node like this and you've used that wallet for a very long time, it's going to have to resync the blockchain to find all the balances in that wallet; because, if you only have the last 1,000 blocks but you have a bunch of payments and coins in the last 10,000 blocks, it's going to need to resync to find that money. 

So, that it's just an important thing to think about.  If you're starting a brand new wallet and sending money there, not a problem at all; but if you're importing a wallet that you've already used for a long time with a pruned node, you're going to have to resync to actually find all the UTXOs you want.

Peter McCormack: So, I'm going to do that now, right, because I'm not going to connect my wallet to it now, so I'm going to uncheck that.  Like we're done now, so the next step is to go and connect my Coldcard.  I'm guessing the point on Specter is, I can create a wallet within Specter; I can also just go and connect a device to it.  When I'm connecting a device to it, I don't have to create a wallet as well do I; I'm using the wallet on the device?

Shinobi: No, you would, in the sense of like you get a Coldcard, you're still going to need to go to the Coldcard and get the public key data off of it and then import that.

Peter McCormack: Right, okay.  The other thing is, just generally speaking, "Error opening block database", oh my God, right, this is funny.  I'm now opening Bitcoin QT, "Loading block index".  "You need to rebuild the database using re-index to go back to unpruned mode.  This will redownload the entire blockchain.  Do you want to rebuild the block database now?"  I've clicked, "OK".  "Error opening block database".

Shinobi: I think something probably goofed in pruning it real quick and then turning it off and going back to unprune it, so I think --

Peter McCormack: I'm going to have to uninstall Core now.

Shinobi: No, no, no.

Peter McCormack: What do I do now?

Shinobi: What you want to do right now is just resync from scratch, right.

Peter McCormack: How do I do that though, because I'm opening Core and it's not letting me?

Shinobi: Go to the file directory where you told it to put all the Bitcoin data when you set it up and just delete that folder.

Peter McCormack: Firstly, I don't know where would have been the default and I don't even know how to get there.

Shinobi: Uno momento.

Peter McCormack: I can probably search for -- if I can search the file directory what do I search for?  Is it application support?

Shinobi: You've got to remember, I hate Macs, so I need to spend 5 seconds figuring out how Mac structures that.

Peter McCormack: Let's see if I can beat you.

Shinobi: Okay, check "Library application support" and then see if there's a Bitcoin folder in there.

Peter McCormack: How do I get to that?  Do I have to go to my "Go to folder thing"?

Shinobi: Yeah, just go to the graphic folder browser and then the library folder application support and then Bitcoin.

Peter McCormack: Enter path; so it is just "/library"?

Shinobi: Yeah.

Peter McCormack: Here we go; application support.  Is it in application support, did you say?

Shinobi: Yeah.

Peter McCormack: What am I looking for in there?  There's nothing that looks like Bitcoin in there.

Shinobi: There's no Bitcoin at all?

Peter McCormack: Nope.

Shinobi: Is there an option in the folder application for like, "See hidden files" or like, "Show hidden folders"?

Peter McCormack: There's a shortcut for that.  I had to use it the other day and I can't remember what it is.  It's "CMD Shift Dot", but there's nothing changing.  No, it's not doing it, unless there are no hidden files in there.

Shinobi: Everybody should just run Linux and the world would be simpler.

Peter McCormack: Yeah.  What is the name of the thing I'm trying to find; I must be able to search?

Shinobi: Let's try this.  You know the weird funny Apple key that's there instead of the Windows key command?  Hit command, alt and G all at the same time.

Peter McCormack: It brings up, "Go to folder".

Shinobi: Yeah, okay.  I just sent you something on Keybase, a file path.  Paste that whole thing in there and try hitting "Go" and see what happens.

Peter McCormack: Do I paste that after library or separately?

Shinobi: No, like literally only put the whole path that I sent over.

Peter McCormack: Okay, okay.  No, doesn't work.  You must be able to just like search for the fucking file.

Shinobi: Try searching for Bitcoin and see if anything pops up.  Also, just in case Tim Cook is listening, try making Apple suck less hard.

Peter McCormack: Yeah, he's a regular listener to the show.  Bitcoin QT, Bitcoin Core; no.  It's not coming with anything.  It's making me just want to delete it and reinstall it because it's just painful.

Shinobi: This is what happens when you accidently prune your node when you don't want to.

Peter McCormack: I know, but look, can you see how just -- like I'm not making up, like people are going, "You should just fucking learn this shit", and I'm not making it up, I just don't get it and I try and I get it confused and I just think this is why a lot of -- it's very easy for someone who's created a node to go out on Twitter and say, "I've done it and I'm a genius", but when you get battered so hard for not understanding it, I think there's no wonder some people won't admit it.

But I know I my emails and I know what people say to me.  I am telling you right now Bitcoin Core and Specter, I'm going to do it, but it's not going to be the one for me, it's just too much; I think I need one of the out of the box ones.  I'm going to play with the Embassy one again, see how I get on with that.

I will complete this, I will do this.  I will connect my Coldcard, but I get anxiety even just looking at Specter going, "There are so many options here.  I have no idea what they mean".  If you use something like Ledger or Trezor, despite what people think of them, it's very easy to use because I only see what I need to see.  There is my balance, and I can send and receive, here I'm looking at things like, "Upload your keys", you know; all those different options that we had in the settings.  They just -- HWI Bridge, Tor and test connection I get a fail; it's just I feel like I'm in something for developers and I'm lost and it's confusing.

Shinobi: Like I said, the Tor test in Specter doesn't matter unless you want to remotely connect to that from somewhere else in the world, but I mean this is kind of -- how I frame this in the first part of this, I absolutely think everyone should try to set things up themselves like this.  Give it a college try.  If you really can't then, yeah; you have things like Umbrel, Embassy, myNode.  There are the options to just plug something in and if you really can't figure out how to set this stuff up yourself, then go for it.

Here's a point I want to make about meeting in the middle.  All these hardware wallets out there should have years ago had a simple app that you just instal Core and run that and then download their app and click a button, you know what I mean?  You just have those apps that come with it, hook up to it and that's only just starting.  I think Ledger last year finally has support for that.  If I'm not mistaken Trezor was actually walking down that road, if they haven't got there already but, yeah, I mean people should be running a node.  If, for anything else, just the fact it's private and you're not leaking to some central third party how many Bitcoin you own.

Yeah, maybe something like Specter is a little complicated for people but those simpler things should be able to hook up like this too.  I mean, this wallet might make you nervous and might seem complicated, but I mean wasn't that just clicking a few buttons and now it's talking to Core, before things went sideways?

Peter McCormack: No, it was but I couldn't do it without you and I'm still nervous by the interface.  I've used Trezor and Ledger before and I'm not nervous using those, because the interfaces are designed for someone like me.

Can I not in command line just go and find this?  Can terminal go and find this file to delete?  I'm in the library and I can see the file structure, because I did that LS thing, and I can see Application Support but when I put "cd application support", it says, "String not in" -- do I have to do something for the space?

Shinobi: Yeah, you have to put a backslash that tilts to the left at the top.

Peter McCormack: No, it just doesn't put a space in then though.

Shinobi: No, you still have to put the space, but you have to have that slash before the space.

Peter McCormack: Application support, LS, right, Bitcoin, we found Bitcoin.  Do you want to go into that?  "cd Bitcoin", okay in there I've got anchors.dat, boundless.dat, Bitcoin.com, blocks, chainstate, debug.  Do I need to get rid of "blocks"?

Shinobi: Delete everything except the conf file.

Peter McCormack: How do I delete something in…?

Shinobi: Type, "rm", and then whatever the directory is.

Peter McCormack: So, get rid of anchors.dat?

Shinobi: Literally delete everything in there, except Bitcoin.com.

Peter McCormack: Even settings.JSON, yeah?

Shinobi: Everything.  You want to clear that completely out so that when Bitcoin starts again it thinks that it's starting for the first time.

Peter McCormack: It says I can't remove blocks, chainstate or wallets because they're all a directory.

Shinobi: Okay, so after you type, "rm" put, "[space]-R", and then "[space]", and then the directory name.

Peter McCormack: That's it.  So if that's deleted, if I go and check my utility, do I suddenly have a load more space?  Yeah, brilliant, syncing again.  Next time we speak, Bitcoin Core will be synced.  I will reconnect to the Specter, I will have connected my Coldcard, I will have loaded some dollars into my Coldcard, and I will have sent it to you.  That is what's going to happen.

Shinobi: Peter this is what winning looks like.

Peter McCormack: Dude, I wonder if people listen to the end and if they do, I'm really intrigued to what people are going to make of it.  I don't know if it's a really boring show talking through it, or actually it's really interesting for people to hear through it, but we will see.  Okay, man, listen I'm going to let you go.  When we next speak, I'm going to message you on Keybase, say, "Send me a Bitcoin address", and that's going to come to you via my set up.  Hopefully I'll sync in 24 hours and then I'll get that sorted.  Thank you, brother.

Shinobi: Winning.

Peter McCormack: Winning, winning, nearly winning.