GRIN for Fedora
NOTE: All of this is still in testing.
This github repository contains source packages and source package bits in order to build grin for Fedora Linux (and presumably EL-based distros).
These source packages are used to build packages used to deploy runnable binaries. Those packages used to deploy runnable binaries are built on Fedora's COPR build infrastructure. Getting access, though, is easy. Just install the repo-enabling package and install grin-mw or grin-mw-miner. Here you go...
sudo rpm --import https://keybase.io/toddwarner/key.asc
sudo dnf install -y https://raw.githubusercontent.com/taw00/grin-rpm/master/toddpkgs-grin-mw-repo.fedora.testing.rpm
sudo dnf list --refresh |grep grin
#sudo dnf install -y grin-mw
#sudo dnf install -y grin-miner-mw
A couple notes about the name grin-mw-*
- In the linux universe there already exists a package named "grin". Therefore
both the packages and the
/usr/bin/grin
application had to be renamed/moved. - The executable,
grin
, has been moved into the/var/lib/grin/
directory tree and two wrapper scripts have been created to run the application:grin-wallet
andgrin-node
. I could have just settled on one script to simply redirect to/var/lib/grin/grin
but ... for aesthetic reasons, I did not. - If you install the
grin-mw-miner
package as well, you now have three "executables":grin-wallet
,grin-node
,grin-miner
. It has a nice symmetry.
Upstream documentation on usage: https://github.com/mimblewimble/docs/wiki/Getting-Started-With-Grin%3A-Links-and-Resources
Initialize (create) a wallet? Easy peasy...
# At the commandline as a normal user...
grin-wallet init
Remember: grin-wallet
replaces grin
as the command when using our RPMs.
You will be asked for a password. Enter that twice and a seed will be generated. Backup these two pieces of data somewhere.
Done! Wallet created. All data is stored, by default, in ~/.grin/
Use a wallet?
To use a grin wallet, you need to connect to a node. The easy means to do that is to run your own! Your local wallet will, by defaul, look for a local full node to connect to. So skip to that step, and when you get a full node running, come back here.
...you switch terminals and start up a full grin node...
Ready to use the wallet? Got a running node in another terminal? Great.
Try this...
grin-wallet info
grin-wallet help
That will get you started, but... better to read how to use a wallet here.
Run a node to help secure the network... and because you need a full node in order to use your wallet. You could connect to any node out there that will allow you to, but ... let's run one locally and use that!
Again, this is so easy! Open up a different terminal than your wallet and...
grin-node
Yup. That's it! Type in the grin-node
command and a graphical-ish dashboard comes
up and you are rolling.
Again, all data is stored, by default, in ~/.grin/
to run your own node and then have your wallet connect to it.
- Terminal window one:
- Get a node running (see above)
- Shut it down:
q
- Edit
~/.grin/main/grin-server.toml
- Change
enable_stratum_server = false
toenable_stratum_server = true
- Start the grin node again:
grin-node
- Terminal window two:
- Create a wallet if you haven't already (see above)
- Run the wallet in listening mode
grin-wallet listen
- The wallet will stay running ... and be listening. :)
- Terminal window three:
The grin miner is a bit more quirky than the rest, so... pay attention!- Copy the default
grin-miner.toml
file to your local data directory...cp /var/lib/grin/grin-miner.toml ~/.grin/
- Change the mining algorithm, if you know what you are doing. Read more about that here
- Run the miner from the
.grin
directory. Yup. Odd, but that is the way it is...cd ~/.grin grin-miner
- Congratulations. You are now mining for GRIN.
- Copy the default
That pretty much sums up the very very basics of getting your environment set up and embracing a couple use cases.
Good luck! -t0dd or taw in most chat platforms and forums
...
Check out all my crypto-oriented RPM builds:
- Dash (my longest running and tested builds): https://github.com/taw00/dashcore-rpm
- Electrum-Dash: https://github.com/taw00/electrum-dash-rpm (experimental)
- ZCash: https://github.com/taw00/zcash-rpm
- Beam: https://github.com/taw00/beam-rpm
- Grin: https://github.com/taw00/grin-rpm
- IPFS: https://github.com/taw00/ipfs-rpm (experimental)