Skip to content

mimblewimble/grin-explorer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Grin-Explorer

Grin-Explorer is the first block explorer for the Grin blockchain. This is the source code for the instance running at https://grinexplorer.net.

I hope it provides a useful service for anybody interested in Grin and to its development.

Bugs, Feature Requests, etc.

Please report bugs, feature requests or feedback here or ping me (@hendi) on Gitter.

License

grin-explorer is licensed under the terms of the GNU AGPL 3, see the file LICENSE for details. Basically it allows you to use and modify this code as long as you make all changes available under the same terms. The easiest way to do this is to fork this repo (publically!) and deploy your instance from that repo.p

How to setup your own instance

Requirements

Python >= 3.5 and PostgreSQL >= 9.3 are required.

Grin is required to run as an archival node and basic auth needs to be disabled in its REST API. Set `archive_mode = true` and comment out `api_secret_path` in `grin-server.toml` respectively.

Installation

Start PostgreSQL. Note that the following is just an example to run PostgreSQL, you should ensure you use your own user and credentials when setting it up.

sudo postgresql-setup --initdb
sudo systemctl start postgresql
sudo -u postgres -i
# psql
postgres=# \password postgres
Enter new password:
Enter it again:
postgres=# CREATE USER myuser WITH PASSWORD 'mypass';
postgres=# CREATE DATABASE mydb;
postgres=# GRANT ALL PRIVILEGES ON DATABASE mydb to myuser;
postgres=# \q
sudo systemctl restart postgresql

Start `grin-explorer`. Again, ensure you use your own credentials for Django.

git clone https://github.com/mimblewimble/grin-explorer
cd grin-explorer
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# SECRET_KEY is required by Django
export SECRET_KEY=somesecretkey
# PostgreSQL configuration
export DB_NAME=mydb
export DB_USER=myuser
export DB_PASSWORD=mypass
export DB_HOST=127.0.0.1
export DB_PORT=5432
python3 ./grinexplorer/manage.py migrate
python3 ./grinexplorer/manage.py runserver

Import blockchain

python3 ./grinexplorer/manage.py import_from_tip http://127.0.0.1:13413