Basic Requirements
For the very technical among you, here are the succinct basics requirements for building our first project:
A programmer’s code editor (Visual Studio Code, Atom, or other depending on your preference)
Python version 3. Feel free to use an alternative installer such as Anaconda if you prefer.
The following Python modules (installed using pip or the Anaconda installer):
(optional but recommended) the python3-venv package to isolate the installed support packages from the rest of your environment
(optional but recommended) a virtual machine or virtual private server running Linux.
If you understand what these mean and you can get them ready, excellent! You can stop reading here, you are prepared and ready for the next post.
Having Trouble?
It will be a huge waste of time to provide detailed instructions for all operating systems and software combinations. If you are getting stuck and you’ve attempted to resolve the issue with no success, reply in the comments below so I (or other readers) can help you.
The comment section is your best forum (after you try the search engine) to get technical support since everyone will see it and may have already solved your issue.
My Setup
I am using Pop!_OS version 22.04 LTS, a Linux distribution based on Ubuntu. The only major difference between the two is some packaging choices and desktop environment defaults.
I use Visual Studio Code (abbreviated VScode) and VIM on the command line. I am running Python version 3.9.8 with the following modules:
python3-venv version 3.10.4 (installed via
apt
)python3-pip version 22.0.4 (installed via
apt
)eth_abi version 2.2.0 (installed via
pip
)eth-brownie version 1.19.3 (installed via
pip
)web3 version 5.31.3 (installed via
pip
)websockets version 10.3 (installed via
pip
)
You do not need the exact same versions as me, but getting as close as possible will help us maintain bug-for-bug compatibility 😆
Going Forward
Since there is a lot to cover, I will break the introductory posts like this into short & frequent chunks.
My next post will cover Brownie setup, creating a dedicated account for your bot, and how to retrieve some very basic data from a blockchain explorer, so please get your Python environment up!
Thought I would add this solution to a bug I had while installing.
The bug was that the install for eth-brownie would fail using pip.
The eventual solution involved installing Cython, cytoolz, and then trying the eth-brownie install an nth time.
These pages were helpful: https://eth-brownie.readthedocs.io/en/stable/install.html
https://ethereum.stackexchange.com/questions/112042/link1120-error-when-attempting-to-install-brownie-with-pipx-install-eth-brownie
edit: still not getting the right brownie version. Am getting 1.16.4 from pip. will update progress when I figure it out.
2nd edit: Finally got brownie 1.17.2 by cloning its repo and using setup.py to install the 1.17.2. Victory!!
also had issues installing eth-brownie.
Had to install Microsoft Visual C++ 14.0+ with 'C++ build tools' and 'Universal Windows Platform build tools' (for the Windows 10 SDK)
don't know whether I need all of what's in those packs but fck it, it works