How to setup a HiveView environment

in #hive-dev3 years ago

Want to run HiveView?

bee.png
I was asked recently "how do I run this locally" and I thought, you know what, I never explained what it needed or how to get it running so here goes...

Dependencies

HiveView is a Python3 / Django3 app and uses SQLite for the DB (Currently not even in use) and Redis for caching. All the Hive connections are made with the wonderfully awesome beem library. This walkthrough assumes you are using Ubuntu 20.04, but Ubuntu 18.04 and later should work. Basically anything with Python3 (I use 3.8, but has been tested with 3.7.5)

First, Important Libraries and Services

This walkthrough is using Python 3.8 if you are using Python 3.7 replace the libpython3.x-dev to match accordingly.

sudo apt install python3 python3-pip libpython3.8-dev libssl-dev libsecp256k1-dev

important_libs.png

sudo apt install redis-server git build-essential

redis_install.png

Clone the HiveView Repo

git clone https://github.com/TheCrazyGM/hiveview.git

git_clone.png

Creating a Virtual Env

You may get an error here regarding the wrong version of Python3 (Seeing that I'm using the latest) you can alternatively edit the Pipfile where the python version is and make it match (tested with 3.7)

pip3 install pipenv
cd hiveview
python3 -m pipenv install

pip_env_install.png

Enter the virtual env shell

python3 -m pipenv shell

pip_env_shell.png

Launch the Server (Dev build)

python3 manage.py runserver
run_server.png
Alternatively, you may run the service without entering the shell by issuing the run command to pipenv.

python3 -m pipenv run python3 manage.py runserver

I hope this was not as confusing as it seems to me, this part came naturally to me as I have made TONS of virtual environments recently, I need to make better documentation and I really need t get into the habit of commenting my code.

I wish you the best of luck, and I'll be more than happy to help anyone that runs into any issues personally, feel free to hit me up on Discord. thecrazygm#3277

Until next time, bee safe, bee kind,
Michael Garcia a.k.a. @TheCrazyGM

Sort:  

Docker is your friend ;)

for production, i was going to go that route, but this is for dev environment, it's not close to being where it should be run live.

Docker for development is even better than for production.

If you would be willing to show me the path, I'll be more than happy to look into it / go that route (but honestly how do you develop in a docker container or is that part mounted -v )

You basically mount a directory with the source code as a docker volume, so the application is executed inside a container but you can modify files locally on your machine. I can elaborate more in Discord or Slack if you want.

Would love to simplify this: hit me up in discord sometime, anytime :)

What is hiveview?

oh, I should have put the link in the post: GitHub Link Here it's sort of a condenser clone/block explorer, but written in python and using all backend instead of the common frontend js implementations.

Thanks Sir. I now get it.

Nice!!

I think a requirements.txt file would be nice, I am also getting Error 61 connecting to 127.0.0.1:6379. Connection refused. even after adding 127.0.0.1 and 0.0.0.0 to allowed hosts in settings.py

I am joining discord now, so we may chat there on the python Chanel.

@chitty, i can easily add the requirements.txt, I'll push that up here very quick. That error, I think may be related to redis, is it not running, or running on a different port maybe?

Could be, Il have a proper sit down with this later on.. will dm you on discord as soon as I get approved

I don't have any pending, did you add me thecrazygm#3277