Stake pool - Air Gap Candidate setup and security?

A 32GB drive is more than enough for all the cardano-cli based tools you’d need to run a stake pool, even if you’re compiling the node in the USB environment itself… that’s for the “cold” version of the Frankenwallet.

I also have a “cool” Frankenwallet (not quite “cold”) that needs Internet access to support Daedalus and its contained cardano-node, on a 128GB mem stick. At the rate the Cardano chain is growing (about 1GB per week, currently 36GB) this size should be good to support the node wallet for another year.

You should be able to follow the documentation OK if you have some experience installing Linux in a dual-booting environment with Windows: to better understand things like GRUB, UEFI, and BIOS settings.

It’s a “try at your own risk” proposition but you could always install the USB environment on your spare machine if you’re worried about messing up your main host… keeping in mind the differences between old MBR based booting and new UEFI style booting :grimacing:

Yes its been a while since I did bootable Linux hopefully it will be ok to get back on that bike so to speak, thanks for these details, seems a viable option. Some one else suggested I just copy cardano-cli from bin folder which may save a bit of time too.

1 Like

get the RPI 4 model B 8gb

Thanks Again looks like low stock here in the UK for Rasberry Pi quite interested to explore the Franken wallet which I gather could be used with any offline device

One obvious question how do you transfer the keys from Air gap to your Producer or Relay as in is this method only applicable if you have access to bare metal. Otherwise to send through another touch point would negate its value. Just wondering whats the done thing here ?

If you have a physical access to the node, then you can use a USB.

If you only have an online access, then FTP is the only solution.

In my case, my air gapped machine is a physical device next to me!

One thing we always do with the Frankenwallet… which could be done just as easily on a conventional air-gapped host… is encrypt the key files before transferring them out of the air gap, as described here (this page still needs to be filled out with more command-line examples):

TL;DR You can use the command line program 7z to encrypt your keys and then copy them (or save them, if using the Frankenwallet) to your host machine… there’s no risk saving the keys there if they’re encrypted with a strong enough password. Then transfer (SSH, FTP, etc.) the file to your Cardano node and decrypt the key folder with 7z at the server command line.

To get 7z with AES encryption: on Ubuntu for instance, on either client or server, install these packages:

apt install p7zip-full p7zip-rar

Thanks COSD yes that makes a lot of sense to encrypt.

Can you please confirm where each are stored ?

Are these always on the server :

Stake.vkey
Stake.skey

kes.vkey
kes.skey

Are these only there for the transactions then stored offline ?

payment.vkey
payment.skey

cold.vkey
cold.skey

Is the Storage only attached to transfer the above files to server in order to build TX files and rewards wallet ?

The only one of the above that needs to be stored on the server… specifically, your block producer… is kes.skey. The kes key pair is also used to generated the node.cert file (your operational certificate) so generally they’ll be transferred to the server together about every 3 months when you need to update your KES certificate. You’ll also need to transfer your vrf.skey … so that’s 3 files in all you have to transfer from your air gap machine to the block producer.

You have to be most careful with the “private key” files ending in .skey which are used to prove ownership of your funds and pool resources. This page includes a complete list of those files & some precautions for transferring & backing them up:

p.s.

There are different ways to implement an air gap, so different methods will mean different things by “storage.” For a conventional air gap machine, the memory stick is the storage for your isolated computer… while in the Frankenwallet, the OS is running on the memory stick and the host computer is its storage (see link above What’s unique about it?)

And yes, having the host computer available as an “external” drive of your memory-stick-based OS will allow you to save Tx files on the host computer drive, then upload them to your live Cardano node once your host is rebooted as normal.

Hi there yes thanks for this explains it more thoroughly
If the host OS to the USB bootable is say windows can that disk be mounted by Frankenwallet ?

yes… when you boot from a USB-based Linux OS you’ll see all the native computer’s disk filesystems, no matter what type they are (generally ext4 on Linux, NTFS / FAT / exFAT on Windows) as mountable drives in the file manager (Nautilus, Nemo, Thunar, etc… all have mountable disk partitions listed in the left column).

I don’t have every possible workflow tip in the Frankenwallet pages currently, but what I do is mount the /home partition from my Linux machine & then bookmark the place where I keep all my files (what the Frankenwallet docs call a “host folder”). On a Windows machine you might do the same thing to bookmark a subfolder of My Documents where you keep all your signed Tx files, encrypted pool file archives, etc.

1 Like

Hi I have managed to use mount -t I was copying the cardano-cli binary.
Do you run a full node or just run the commands with the cli ?

Thanks again I found your explanations of the key files really helpful here

Are you able to help us get our pool started could really do with finding some extra support it has not been smooth up to now

1 Like

thanks for the feedback… you’ll get all the help you need if you keep posting your questions in the setup or operation groups here on the forum:

and/or the Telegram operations group where you can also ask setup questions:

1 Like

My recommendation would be to have your air-gapped online while setting it up, upto the point just before generating your keys. Then disconnect it and never connect it again.

1 Like

Yes that does seem a good idea,

Hi

Ok thanks I have a few errors and for some reason cannot connect to from relay to producer on port 6000 so thats where I need help

By the way I did post a few questions in the Telegram group got a few responses not the answer yet to the port 6000 issue, I can attempt to post again.