0% encontró este documento útil (0 votos)
219 vistas7 páginas

Instalación de Solidity en Ethereum

Este documento proporciona instrucciones para instalar Solidity (Ethereum) de diferentes maneras como npm, Docker, paquetes binarios o compilando desde el código fuente. Explica los requisitos previos como Node.js, Xcode o Visual Studio y cómo construir el proyecto en Linux, macOS o Windows usando CMake y make. También resume la cadena de versiones de Solidity.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
219 vistas7 páginas

Instalación de Solidity en Ethereum

Este documento proporciona instrucciones para instalar Solidity (Ethereum) de diferentes maneras como npm, Docker, paquetes binarios o compilando desde el código fuente. Explica los requisitos previos como Node.js, Xcode o Visual Studio y cómo construir el proyecto en Linux, macOS o Windows usando CMake y make. También resume la cadena de versiones de Solidity.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Instalación

de Solidity
(Etherum)

1 Instalación de Solidity

Control de Versiones
Las versiones de Solidity siguen un versionado semántico (https://semver.org/), y
además de los releases, también hay nightly developement builds. El
funcionamiento de los nightly builds no está garantizado y puede que contengan
cambios no documentados o que no funcionen. Recomendamos usar la última
release y las siguientes intalaciones de paquetes usarán el release más actual.


Remix
Si sólo quieres probar Solidity para pequeños contratos, puedes usar Remix
(https://remix.ethereum.org/ - optimize=false&version=soljson-
v0.5.1+commit.c8a2cb62.js) que no necesita instalación. Si quieres usarlo sin
conexión a internet, puedes ir a https://github.com/ethereum/browser-
solidity/tree/gh-pages y bajar el el fichero ZIP.


npm / Node.js
Esta es probablemente la manera más llevable y conveniente de instalar Solidity
localmente.
Se proporciona una librería Javascript independiente de plataforma mediante la
compilación del código C++ a Javascript usando Emscripten. Puede ser usado en
proyectos directamente (como Remix). Debes visitar el repositorio solc-js
file://localhost/(https/::github.com:ethereum:solc-js) para ver las instrucciones.
También contiene una herramienta de línea de comandos llamada solcjs que puede
ser instalada vía npm:
npm install -g solc

Las opciones de línea de comandos de solcjs no son compatibles con solc, y las
herramientas (tales como geth) que esperen el comportamiento de solc no
funcionarán con solcjs.


Docker
Proveemos builds de docker actualizadas para el compilador. El repositorio stable
contiene las versiones publicadas mientras que el nightly contiene cambios
potencialmente inestables de la rama de desarrollo.

docker run ethereum/solc:stable solc –version

1

IEBS BUSINESS SCHOOL


Actualmente, la imagen de docker contiene el compilador ejecutable, así que
tendrás que enlazar a las carpetas de código y de output.


Paquetes Binarios
Los paquetes binarios de Solidity están disponibles en solidity/releases
(https://github.com/ethereum/solidity/releases).

También tenemos PPAs para Ubuntu. Para la versión estable más reciente.

sudo add-apt-repository ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install solc

Si quieres la versión en desarrollo más reciente:

sudo add-apt-repository ppa:ethereum/ethereum
sudo add-apt-repository ppa:ethereum/ethereum-dev
sudo apt-get update
sudo apt-get install solc

Arch Linux también tiene paquetes, pero limitados a la versión de desarrollo más
reciente:

pacman -S solidity-git

Homebrew aún no tiene paquetes preconstruidos, siguiendo una migración de
Jenkins a TavisCI, pero Homebrew todavía debería funcionar para construir desde
el código. Pronto se agregarán los paquetes preconstruidos.

brew update
brew upgrade
brew tap ethereum/ethereum
brew install solidity
brew linkapps solidity

Si necesitas una versión específica de Solidity, puedes instalar una fórmula
Homebrew desde Github.

Ver solidity.rb commits on Github (https://github.com/ethereum/homebrew-
ethereum/commits/master/solidity.rb).

2

IEBS BUSINESS SCHOOL

Sigue los enlaces de historia hasta que veas un enlace a un fichero de un commit
específico de ‘solidity.rb’.

Instalar con ‘brew’:

brew unlink solidity
# Install 0.4.8
brew install https://raw.githubusercontent.com/ethereum/homebrew-
ethereum/77cce03da9f289e5a3ffe579840d3c5dc0a62717/solidity.rb

Gentoo también provee un paquete Solidity que puede instalarse con ‘emerge’:

demerge ev-lang/solidity

2 Construir desde el código



Clonar el Repositorio
Para clonar el código fuente, ejecuta el siguiente comando:

git clone --recursive https://github.com/ethereum/solidity.git
cd solidity

Si quieres ayudar a desarrollar Solidity, debes hacer un fork de Solidity y agregar
tu fork personal como un remoto secundario:

cd solidity
git remote add personal [email protected]:[username]/solidity.git

Solidity tiene submódulos de git. Asegúrate que están cargados correctamente:

git submodule update --init –recursive


Prerrequisitos - macOS
Para macOS, asegúrate de tener la versión más reciente de Xcode instalada
(https://idmsa.apple.com/IDMSWebAuth/signin?appIdKey=891bd3417a7776362
562d2197f89480a8547b108fd934911bcbea0110d07f757&path=%2Fdownload%
2F&rv=1). Esto contiene el compilador Clang C++
(https://en.wikipedia.org/wiki/Clang), las herramientas que se necesitan para
construir aplicaciones C++ en OS X. Si estás instalando Xcode por primera vez,

3

IEBS BUSINESS SCHOOL

necesitarás aceptar las condiciones de uso antes de poder hacer builds de línea de
comandos:

sudo xcodebuild -license accept

Nuestras builds OS X requieren instalar el gestor de paquetes Homebrew
(https://brew.sh/) para instalar dependencias externas.


Prerrequisitos - Windows
Necesitarás instalar las siguientes dependencias para los builds de Solidity en
Windows:

Software Notas
Git para Windows Herramienta de línea de comandos para repositorios git.
(https://git-scm.com/download/win)
CMake Generador de build multi plataforma.
(https://cmake.org/download/)
Visual Studio Compilador C++ y entorno de desarrollo.
(https://visualstudio.microsoft.com/es/vs/)


Dependencias Externas
Ahora tenemos un script fácil de usar que instala todas las dependencias externas
en macOS, Windows y Linux. Esto solía ser un proceso manual de varias etapas,
pero ahora es una sola línea:
./scripts/install_deps.sh

o, en Windows:
scripts\install_deps.bat


Build en línea de comandos
Construir Solidity es bastante similar en Linux, macOS y otros sistemas Unix:

mkdir build
cd build
cmake .. && make

o aún más fácil:

#nota: esto instalará los binarios de solc y soltest en usr/local/bin
./scripts/build.sh

4

IEBS BUSINESS SCHOOL

Incluso para Windows:



mkdir build
cd build
cmake -G "Visual Studio 14 2015 Win64" ..

Estas últimas instrucciones deberían resultar en la creación de ‘solidity.sln’ en ese
directorio de build. Hacer doble click en ese archivo debería abrir Visual Studio. Se
debe construir la configuración ‘RelWithDebugInfo’, pero todas funcionan.

O si no, puedes construir para Windows en la línea de comandos de la siguiente
manera:

cmake --build . --config RelWithDebInfo


La cadena de versión en detalle
La cadena de versión de Solidity está compuesta por 4 partes:
• el número de la versión.
• etiqueta pre-release, en general en formato ‘develop.YYYY.MM.DD’ o
‘nightly.YYYY.MM.DD’.
• commit en formato ‘commit.GITHASH’.
• la plataforma tiene número arbitrario de ítems, contiene detalles de la
plataforma y el compilador.

Si hay modificaciones locales, el commit tendrá el sufijo ‘.mod’.

Éstas partes se combinan como es requerido por Semver, donde la etiqueta pre-
release de Solidity equivale al pre-release de Semver y el commit Solidity y
plataforma combinadas hacen el metadata del build de Semver.

Un ejemplo de release: ‘0.4.8+commit.60cc1668.Emscripten.clang’.

Un ejemplo pre-release:
‘0.4.9-nightly.2017.1.17+commit.6ecb4aa3.Emscripten.clang’.







5

IEBS BUSINESS SCHOOL

3 Información importante sobre versiones



Tras hacer un release, se incrementa el nivel de versión patch, porque asumimos que
sólo siguen cambios de nivel de patch. Cuando se integran los cambios, la versión se
aumenta de acuerdo a la versión Semver y la urgencia de los cambios. Finalmente, un
release siempre se hace con la versión de la build nightly actual, pero sin el
especificador prerelease.

Ejemplo:
0. se hace el release 0.4.0
1. el nightly build tiene versión 0.4.1 a partir de ahora
2. se introducen cambios compatibles - no hay cambio en versión
3. se introduce cambios no compatibles - la versión se aumenta a 0.5.0
4. se hace el release 0.5.0

Este comportamiento funciona bien con la versión pragma.









6

IEBS BUSINESS SCHOOL

También podría gustarte