grin-explorer
grin-explorer copied to clipboard
Blockchain explorer for grin
- Grin-Explorer
Grin-Explorer is the first block explorer for the [[https://grin.mw][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 [[https://github.com/mimblewimble/grin-explorer/issues/new][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.
#+begin_src sh 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 #+end_src
Start grin-explorer. Again, ensure you use your own credentials for Django.
#+begin_src sh 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 #+end_src
*** Import blockchain
#+begin_src sh python3 ./grinexplorer/manage.py import_from_tip http://127.0.0.1:13413 #+end_src