Contratos de muestra WAX-CDT
WAX-CDT contiene un directorio, wax-cdt/examples, que incluye los siguientes ejemplos de contratos inteligentes:
- Hello World
- Ejemplo multi_index
- Ejemplo de Inline Transaction (transacción inline)
Cada proyecto incluye dos archivos CMakeLists.txt: uno en el directorio raíz y el otro en el directorio src. Puedes utilizarlos para generar automáticamente archivos WASM y ABI en los proyectos de ejemplo.
En este tutorial, aprenderás a utilizar los scripts make para crear el ejemplo de Hello World.
Nota: Estos ejemplos están creados con eosio-init, que forma parte del paquete de herramientas de opciones de WAX-CDT. Para customizar estos scripts para tus propios contratos, visita la entrada Crear un contrato inteligente.
Compila el Hello World
Para compilar el ejemplo Hello World:
-
En la línea de comandos, accede a wax-cdt/examples/hello.
cd wax-cdt/examples/hello
-
Crea un directorio build.
mkdir build
Nota: Por defecto, eosio-init crea un directorio build vacío. Al estar vacío, el directorio no se carga en Git. Si usas eosio-init para crear un contrato inteligente, puedes saltarte este paso.
-
Accede al directorio build.
cd build
-
Inicializa cmake desde el directorio wax-cdt/examples/hello para escribir los archivos de construcción necesarios en el directorio build.
cmake ..
La consola mostrará las siguientes tareas build:
-- The C compiler identification is GNU 7.4.0 -- The CXX compiler identification is GNU 7.4.0 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Setting up Eosio Wasm Toolchain 1.6.1 at /usr/local/eosio.cdt CMake Warning (dev) in CMakeLists.txt: No cmake_minimum_required command is present. A line of code such as cmake_minimum_required(VERSION 3.10) should be added at the top of the file. The version specified may be lower if you wish to support older CMake versions for this project. For more information run "cmake --help-policy CMP0000". This warning is for project developers. Use -Wno-dev to suppress it. -- Configuring done -- Generating done -- Build files have been written to: waxblockchain/wax-blockchain/wax-cdt/examples/hello/build
-
Crea el código.
make
The console prints the following confirmation:
[ 5%] Performing build step for 'hello_project' [100%] Built target hello [ 11%] No install step for 'hello_project' [ 16%] No test step for 'hello_project' [ 22%] Completed 'hello_project' [ 50%] Built target hello_project [ 55%] Performing configure step for 'hello_tests_project'
Ahora deberías poder localizar los archivos hello.wasm y hello.abi en el directorio build/hello.