Saltar al contenido principal

Desarrollo

Para el desarrollo local, recomendamos descargar y ejecutar una instancia local a través de Docker Quickstart y ejecutar una red local o comunicarte con un Testnet de desarrollo en vivo.

advertencia

No recomendamos ejecutar la imagen de Quickstart en producción. Consulta la sección implementa tu propia instancia RPC.

Independiente

Para ejecutar una red independiente local con la imagen Docker de Stellar Quickstart, ejecuta el siguiente comando:

docker run --rm -it \
-p 8000:8000 \
--name stellar \
stellar/quickstart:testing \
--local \
--enable-stellar-rpc

Una vez que la imagen esté iniciada, puedes comprobar el estado de RPC consultando el punto final de verificación de salud:

curl --location 'http://localhost:8000/rpc' \
--header 'Content-Type: application/json' \
--data '{
"jsonrpc":"2.0",
"id":2,
"method":"getHealth"
}'

Puedes interactuar con este nodo local usando la CLI de Stellar. Primero, añádelo como una red configurada:

stellar network add local \
--rpc-url "http://localhost:8000/rpc" \
--network-passphrase "Standalone Network ; February 2017"

Luego genera una identidad única (keypair público/privado) y finánciala usando:

stellar keys generate alice
Identidades solo para pruebas

Es una buena práctica no usar las mismas claves para pruebas y desarrollo que las que usas para la red pública de Stellar. Genera nuevas claves para pruebas y desarrollo y evita usarlas para otros propósitos.

Ahora que tienes una red configurada y una identidad financiada, puedes usar estas dentro de otros comandos de la CLI de Stellar. Por ejemplo, implementar un contrato:

stellar contract deploy \
--wasm target/wasm32-unknown-unknown/release/[project_name].wasm \
--source alice \
--network local

O invocar un contrato:

stellar contract invoke \
--id C... \
--source alice \
--network local \
-- \
hello \
--to friend

Cuando termines con tu nodo local, puedes cerrarlo con ctrlc (no cmd). Esto eliminará completamente el contenedor (eso es lo que hace la opción --rm del comando docker), lo que significa que necesitarás reimplementar tu contrato y volver a financiar tu identidad la próxima vez que lo inicies. Si trabajas frecuentemente con nodos locales, puede que quieras crear scripts para hacer más fáciles estos pasos de inicialización. Por ejemplo, consulta el initialize.sh del ejemplo de dapp.