Skip to main content

Start a Local Node

To start a local WAX node on your development server:

  1. From the command line, enter the following to initialize keosd.

    keosd &

    The console prints the following information:

    info  2019-07-16T21:22:39.501 thread-0  wallet_plugin.cpp:42          plugin_initialize    ] initializing wallet plugin
    info 2019-07-16T21:22:39.513 thread-0 http_plugin.cpp:622 add_handler ] add api url: /v1/keosd/stop
    info 2019-07-16T21:22:39.519 thread-0 http_plugin.cpp:622 add_handler ] add api url: /v1/node/get_supported_apis
    info 2019-07-16T21:22:39.520 thread-0 wallet_api_plugin.cpp:73 plugin_startup ] starting wallet_api_plugin
    info 2019-07-16T21:22:39.521 thread-0 http_plugin.cpp:622 add_handler ] add api url: /v1/wallet/create
    info 2019-07-16T21:22:39.523 thread-0 http_plugin.cpp:622 add_handler ] add api url: /v1/wallet/create_key
    info 2019-07-16T21:22:39.525 thread-0 http_plugin.cpp:622 add_handler ] add api url: /v1/wallet/get_public_keys
    info 2019-07-16T21:22:39.527 thread-0 http_plugin.cpp:622 add_handler ] add api url: /v1/wallet/import_key
    info 2019-07-16T21:22:39.544 thread-0 http_plugin.cpp:622 add_handler ] add api url: /v1/wallet/list_keys
    info 2019-07-16T21:22:39.546 thread-0 http_plugin.cpp:622 add_handler ] add api url: /v1/wallet/list_wallets
    info 2019-07-16T21:22:39.549 thread-0 http_plugin.cpp:622 add_handler ] add api url: /v1/wallet/lock
    info 2019-07-16T21:22:39.552 thread-0 http_plugin.cpp:622 add_handler ] add api url: /v1/wallet/lock_all
    info 2019-07-16T21:22:39.555 thread-0 http_plugin.cpp:622 add_handler ] add api url: /v1/wallet/open
    info 2019-07-16T21:22:39.558 thread-0 http_plugin.cpp:622 add_handler ] add api url: /v1/wallet/remove_key
    info 2019-07-16T21:22:39.561 thread-0 http_plugin.cpp:622 add_handler ] add api url: /v1/wallet/set_timeout
    info 2019-07-16T21:22:39.563 thread-0 http_plugin.cpp:622 add_handler ] add api url: /v1/wallet/sign_digest
    info 2019-07-16T21:22:39.565 thread-0 http_plugin.cpp:622 add_handler ] add api url: /v1/wallet/sign_transaction
    info 2019-07-16T21:22:39.567 thread-0 http_plugin.cpp:622 add_handler ] add api url: /v1/wallet/unlock
  2. Next, paste the following to start producing blocks:

    nodeos -e -p eosio \
    --plugin eosio::producer_plugin \
    --plugin eosio::chain_api_plugin \
    --plugin eosio::http_plugin \
    --access-control-allow-origin='*' \
    --contracts-console \
    --http-validate-host=false \
    --verbose-http-errors >> nodeos.log 2>&1 &

    This will initialize all of the basic plugins, set the server address (yours), and add contract debugging and logging.

:::warning
<strong>Important:</strong> The --access-control-allow-origin='*' parameter enables Cross-Origin Resource Sharing (CORS). Never enable this for a public node.
:::

When the command completes, the console prints out a number, similar to the following:

```shell
[2] 4529.
```
  1. To verify that nodeos is producing blocks, from the command line, use the tail command to view the log:

    tail -f nodeos.log

    The console prints your block information:

    info  2019-07-16T21:36:14.501 thread-0  producer_plugin.cpp:1597      produce_block        ] Produced block 0000043f8f7c37a1... #1087 @ 2019-07-16T21:36:14.500 signed by eosio [trxs: 0, lib: 1086, confirmed: 0]
    info 2019-07-16T21:36:15.001 thread-0 producer_plugin.cpp:1597 produce_block ] Produced block 00000440315e6c27... #1088 @ 2019-07-16T21:36:15.000 signed by eosio [trxs: 0, lib: 1087, confirmed: 0]
:::tip
<strong>Tip:</strong> Notice the "signed by eosio" signature - this is the local system account.
:::

You're now running a local WAX node on your development server. Press Ctrl + c to close the log (nodeos will continue to run in the background).

Stop a Local Node

To cleanly stop nodeos:

  1. From the command line, run pkill:

    pkill nodeos
  2. To verify that nodeos is no longer producing blocks, run the tail command to view the log:

    tail -f nodeos.log

    On the last line, the console prints: "nodeos successfully exiting."

    info  2019-07-16T21:45:43.501 thread-0  producer_plugin.cpp:1597      produce_block        ] Produced block 000008b10f51d1ae... #2225 @ 2019-07-16T21:45:43.500 signed by eosio [trxs: 0, lib: 2224, confirmed: 0]
    info 2019-07-16T21:45:44.001 thread-0 producer_plugin.cpp:1597 produce_block ] Produced block 000008b26fca2675... #2226 @ 2019-07-16T21:45:44.000 signed by eosio [trxs: 0, lib: 2225, confirmed: 0]
    info 2019-07-16T21:45:44.450 thread-0 main.cpp:148 main ] nodeos successfully exiting