3. How to Use Astar WASM IDE
The process of writing, compiling, deploying, interacting, and querying with Astar WASM smart contracts
Last updated
The process of writing, compiling, deploying, interacting, and querying with Astar WASM smart contracts
Last updated
Astar WASM IDE offers developers a variety of basic or complex templates, such as Flipper, PSP22, PSP34, Magink-dApp, and more. Click to access a template.
Upon entering the project, the README.md file included in the folder will be automatically previewed.
In the Explorer panel, you can create new files (or folders), refresh the directory, and download files. You can also directly click on the files that come with the template.
Click on a contract file to edit the code.
Once the contract code is written, click the "Compiler" button on the right-hand menu to open the compilation module. Choose whether to enable "release" and "nightly" (usually not required), and then click "Build ***.rs" to initiate the compilation.
Compiling WASM contracts takes a few minutes, so in the meantime, we can proceed with the next step.
After a successful compilation, the left-hand Explorer panel will display the "target/ink" folder, and within that folder, you will find the "***.contract" file (used for deploying the contract).
Before deploying a contract, you need to click on "Connect Wallet" in the upper right corner, choose your wallet, and use it to connect to the Astar blockchain.
By default, it's connected to the Shibuya testnet. If you need to switch to another network, you can click on "Shibuya Testnet" in the bottom right corner to change the network.
ChainIDE supports switching between four networks: Astar Mainnet, Shibuya Testnet, Shiden Mainnet, and Custom Network.
Swanky Node is a Substrate-based blockchain designed to facilitate local development of Wasm smart contracts. If you require a substantial amount of tokens for testing and have high-speed interaction requirements, this section is worth exploring.
ChainIDE has integrated a graphical Swanky Node. Click on "Astar Swanky Node" on the right-hand side and then click "Start."
Wait for a few seconds until the Sandbox displays the following two lines.
Click on the "Jump" link in the Faucet URL to obtain test tokens on the Swanky Node's local network.
Choose an account with tokens and transfer some tokens to your own wallet.
Return to the ChainIDE for Astar page and copy the WebSocket URL.
Refer to step 3, "Connect to Astar WASM", select "Custom Mode," and enter the WebSocket URL you copied in the previous step. Then, click "Switch."
Congratulations, you have successfully switched to the Swanky Node local network.
Click the "Deploy & Interaction" button on the right-hand side, which will bring up the deployment and interaction pages. Select the compiled contract, click "Deploy" to initiate the deployment (then confirm in your wallet). After successful contract deployment, the console will display the contract deployment result and relevant information.
In addition, you can click on "Import Deployed Contract" to import contracts that have already been deployed, or you can use "On-Chain Contract Code" to deploy contracts using a CodeHash.
After a successful contract deployment, you can interact with the contract. Click on the deployed contract, choose the corresponding interface, and click "Submit" or "Get" to perform interactions.
Click on the transaction hash in the Output section to view the specific details of each transaction.
Contracts compiled using ChainIDE can be submitted to Polkaholic for contract verification.
Click the "Scan Verifier" button on the right-hand side, select the network, code hash, and public mode, then click "Publish Verified Code" to initiate the contract verification process.
ChainIDE and Polkaholic have collaborated to develop the WASM Developer Dashboard.
Click the "WASM Developer Dashboard" button on the right-hand side to view information such as "Recent Code Stored," "Recent Contracts Instantiated," and "Recent Calls."
If you prefer command-line development, you can open the Astar WASM Sandbox, which comes pre-loaded with Swanky Suite, Git and Node.js V16.
ChainIDE facilicates full-stack development. For example, if you use Magink-dApp template, you can not only compile and deploy your smart contracts, but also serve your dApp's frontend via ChainIDE's port forwarding feature. Please refer to ChainIDE - Port Forwarding.