Networks and APP deployment¶
Even the smallest project will interact with at the very least two blockchain nodes: One on the developer’s machine, and the other representing the network where the developer will eventually deploy their application (such as the main public PlatON network or a private consortium network, for instance). Truffle provides a system for managing the compilation and deployment artifacts for each network, and does so in a way that simplifies final application deployment.
Configuration¶
See the Configuration section for more information.
Specifying a network¶
Most platon truffle commands will behave differently based on the network specified, and will use that network’s contracts and configuration. You can specify a network using the --network
option, like below:
$ platon-truffle migrate --network live
In this example, platon truffle will run your migrations on the “live” network, which – if configured like the example – is associated with the public PlatON blockchain.
Specifying a wasm contract¶
If you want to deploy a specific wasm contract(contract file like contracts/test.cpp), you can use the following command:
$ platon-truffle migrate --wasm --contract-name test
Build artifacts¶
As mentioned in the Compiling contracts section, build artifacts are stored in the ./build/contracts
directory as .json
files. When you compile your contracts or run your migrations using a specific network, platon truffle will update those .json
files so they contain the information related to that network. When those artifacts are used later – such as within your frontend or application, they’ll automatically detect which network the PlatON client is connected to and use the correct contract artifacts accordingly.
Application deployment¶
Because the network is auto-detected by the contract artifacts at runtime, this means that you only need to deploy your application or frontend once. When you run your application, the running PlatON client will determine which artifacts are used, and this will make your application very flexible.