Grin MimbleWimble on Linux Debian/Ubuntu

Short guide how to run own Grin node.

Pavol Travnik
3 min readDec 24, 2018

This guide is written for Debian 9 (should also work on another Linux distributions). Make sure, your security policy allows inbound and outbound connections for port 13413 (?), 13414 (grin server),13415 (wallet),13416 (stratum server — for mining).

Github repository

Chain explorers https://grinscan.net/ or https://grinexplorer.net/

1. Install dependencies

set -ex && \
sudo apt-get update && \
sudo apt-get --no-install-recommends --yes install \
build-essential \
libgit2-dev \
clang \
libncurses5-dev \
libncursesw5-dev \
zlib1g-dev \
pkg-config \
libssl-dev \
llvm \
cmake \
git \
curl \
tmux
# Install Rust
curl https://sh.rustup.rs -sSf | sh -s -- -y

2. Download repository and build binary

git clone https://github.com/mimblewimble/grin.git
cd grin
cargo build --release

3. Edit .bash_profile

This will become handy, because you don't have to struggle with a path to binary again and again.

echo "export PATH=\"\$PATH:/home/$USER/grin/target/release\"" >> ~/.bash_profile
source ~/.bash_profile

4. Create a wallet

grin wallet init

Write down a seed and type down a strong password (not necessary on Floonet/Testnet). Remember, every important file is by default in “~/.grin” folder from now on. After this command, you can see “wallet_data” folder and “grin-wallet.toml”. By default is wallet available only from localhost, if you want to allow sending a coins, you have to allow external connections. Grin is different then other coins, to send a coins, you have to exchange data first. So let allow external connections to connect to our wallet.

sed -i 's/api_listen_interface = "127.0.0.1"/api_listen_interface = "0.0.0.0"/' ~/.grin/grin-wallet.toml

5. Run a Grin node

grin server run

This will start a Grin node, which will synchronise a Blockchain.

So now we can play with a wallet. Press Q and close the Grin server and start server as daemon.

grin server start

Now is Grin server running on background.

6. Send a tx

As i mentioned earlier, transactions in Grin are a little bit different. You can make the transaction by sending a file, through keybase or the simplest solution is through nodes communicating by http. We allowed a communication with other nodes in step 4. Now we start a wallet listener.

grin wallet listen

Add password. This is not really handy, so we left this window open and create a new tab in terminal. Thanks to Photon, you can ask for some free test Grin coins simply by running this command on your node.

curl gringod.infogrin wallet info

Now you can try to send 1 Grin to somebody else. -c means, how many confirmations you are accepting as enough. If you need to make small transfers, keep it on 0 confirmations.

grin wallet send -c 0 -d http://<IP>:<PORT> 1

if you don't have another server, just send it to me :)

grin wallet send -c 0 -d http://35.185.44.236:13415 1

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

Pavol Travnik
Pavol Travnik

Responses (2)

Write a response

You have problem with your terminal’s setting, echo $TERM in the terminal ad check the result see if the one is available on your machine. Will fix your issue in the screenshot.

--