Neo platform is an exciting place to create smart contracts and Dapps. I am creating this section to log my efforts to setup and get going with Neo Smart Contract development. I am opting to use the neo-python project by COZ to get started as i found other methods to be more tedious and under documented in certain areas.
Initial steps :
-
I created a virtual machine with ubuntu v18 with vmware tool. (Just to keep my development environment isolated from my global environment.One could opt to run on global environment)
-
I am following the instructions from this link ( https://github.com/CityOfZion/neo-python/blob/master/README.rst ).
Logging the efforts: 1.Installing python v3.6 and levelDB using the below command sudo apt-get install python3.6 python3.6-dev python3-pip python3-venv libleveldb-dev libssl-dev g++ 2.creating a Directory with mkdir mydirectory and entering the directory with cd directory 3.creating python 3.6 virtual machine. python3.6 -m venv venv 4.opening the virtual machine to access the command prompt. $ source venv/bin/activate 5.Installing neo python with PyPi using pip (venv) $ pip install neo-python 6.After installation we'll have to bootstrap the testnet to test our build. (venv) $ np-bootstrap its going to take a while to dowload complete testnet so grab a coffee or reach me in discord/telegram for a chat **@sozhan** is my handle
#Successful installation
Displaying All packages FYI
(venv) sozhan@ubuntu:~/myneo$ pip install neo-python
Requirement already satisfied: neo-python in ./venv/lib/python3.6/site-packages
Requirement already satisfied: bitcoin==1.1.42 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: asn1crypto==0.24.0 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: prompt-toolkit==1.0.15 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: greenlet==0.4.13 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: psutil==5.4.3 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: scrypt==0.8.6 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: gevent==1.2.2 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: requests==2.18.4 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: mpmath==1.0.0 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: curtsies==0.3.0 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: mock==2.0.0 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: chardet==3.0.4 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: docopt==0.6.2 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: idna==2.6 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: zope.interface==4.4.3 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: mmh3==2.5.1 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: incremental==17.5.0 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: pycparser==2.18 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: ecdsa==0.13 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: pycodestyle==2.3.1 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: Events==0.3 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: hyperlink==18.0.0 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: Pygments==2.2.0 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: cryptography==2.2.2 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: memory-profiler==0.52.0 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: neo-boa==0.4.4 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: pyparsing==2.2.0 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: Automat==0.6.0 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: bumpversion==0.5.3 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: python-dateutil==2.7.2 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: tqdm==4.20.0 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: constantly==15.1.0 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: pymitter==0.2.3 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: typing==3.6.4 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: Werkzeug==0.14.1 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: blessings==1.6.1 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: virtualenv==15.2.0 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: peewee==2.10.2 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: wcwidth==0.1.7 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: cycler==0.10.0 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: bpython==0.17.1 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: neo-python-rpc==0.2.0 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: neocore==0.4.8 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: pytz==2018.3 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: urllib3==1.22 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: klein==17.10.0 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: pbr==4.0.1 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: plyvel==1.0.4 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: Twisted==17.9.0 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: autopep8==1.3.5 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: certifi==2018.1.18 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: base58==0.2.5 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: coveralls==1.3.0 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: coz-bytecode==0.5.1 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: logzero==1.5.0 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: numpy==1.14.2 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: pluggy==0.6.0 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: attrs==17.4.0 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: cffi==1.11.5 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: astor==0.6.2 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: coverage==4.5.1 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: six==1.11.0 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: aenum==2.1.0 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: colorlog==3.1.2 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: py==1.5.3 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: Pympler==0.5 in ./venv/lib/python3.6/site-packages (from neo-python)
Requirement already satisfied: setuptools in ./venv/lib/python3.6/site-packages (from zope.interface==4.4.3->neo-python)
Requirement already satisfied: pycryptodome>=3.5.1 in ./venv/lib/python3.6/site-packages (from neocore==0.4.8->neo-python)
Will be moving on to Smart Contract Development and Deployment in further posts.