- EIP-1011: Especificaciones para Casper, Friendly Finality Gadget (FFG) modelo de consenso para PoW/PoS.
- VALIDATOR_GUIDE.md, información sobre la implementación de Casper FFG como validador.
- Casper the Friendly Finality Gadget, paper escrito por Vitalik Buterin y Virgil Griffith introduciendo Casper FFG.
- Documentación sobre Vyper.
- Compilador online para Vyper.
Preparación del entorno para Vyper y Casper en Ethereum.
En esta guía hemos seguido estos pasos para la instalación de Vyper, modificando algunos pasos y añadiendo otros para facilitar la instalación.
-
La forma más fácil para probar el lenguaje, experimentar con ejemplos y compilar el código a
bytecode
oLLL
es usando el compilador online de vyper. -
Esta guía, está basada en una máquina virtual en VirtualBox con Ubuntu server 16.04 LTS ("Xenial Xerus") configurando su tarjeta de red para poder acceder por ssh.
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-
Ejecutamos algunos comandos como root:
sudo su
-
Instalamos dependencias:
apt-get -y install build-essential libssl-dev libffi-dev git
-
Descargamos Python 3.6:
wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz
-
tar xfz Python-3.6.2.tgz
-
Entramos en la carpeta:
cd Python-3.6.2/
-
Instalamos:
./configure --prefix /usr/local/lib/python3.6
-
Generamos los ejecutables:
make
-
Instalamos en el sistema:
make install
-
Creamos un enlace simbólico:
ln -s /usr/local/lib/python3.6/bin/python3.6 /usr/bin/python3.6
-
Instalamos pip:
apt-get -y install python3-pip
-
Instalamos virtualenv:
pip3 install virtualenv
-
Desde aquí no necesitamos ser root:
exit
cd ~
-
Creamos un entorno virtual:
virtualenv -p python3.6 --no-site-packages ~/vyper-venv
-
Entramos en el entorno virtual:
source ~/vyper-venv/bin/activate
-
Clonamos el repositorio de Vyper:
git clone https://github.com/ethereum/vyper.git
-
Entramos en la carpeta:
cd vyper
-
Generamos los ejecutables:
make
-
Comprobamos que el make funciona:
make test
-
Podemos compilar un ejemplo:
vyper examples/crowdfund.v.py
-
Hacemos un snapshot a la máquina y continuamos, es preferible apagar la máquina para tomar la instantánea
deactivate
sudo poweroff
-
Tomamos la instantánea desde el panel de virtualbox, y volvemos a arrancar la máquina y a entrar con nuestro user
-
Salimos del virtual env:
deactivate
-
Creamos un nuevo virtual env:
python3.6 -m venv casper_test --without-pip
-
Entramos en el virtual env:
source ~/casper_test/bin/activate
-
Descargamos nuestro propio instalador pip:
wget https://bootstrap.pypa.io/get-pip.py
-
Instalamos las dependencias:
casper_test/bin/python get-pip.py
-
Instalamos la versión correcta de Ethereum:
pip3 install ethereum==2.1.3
-
Clonamos el repositorio de Casper:
git clone https://github.com/ethereum/casper.git
-
Instalamos los requerimientos:
casper_test/bin/pip3 install -r casper/requirements.txt
-
Instalamos pytest:
pip install -U pytest
-
Entramos en la carpeta:
cd casper
-
Pasamos los test:
pytest tests