ℹ️ Dynamic Logging
Dynamic logging provide an easy way to inspect state of transaction during execution with simulation. It allow developer to add logs like
console.log("%d", localVar);
into any on-chain contract and extract the information with simulation.
The following video shows the full workflow how you can use it.
To do dynamical logging, there are multiple ways, either by #web-ui or #ide-and-command-line. If the contract is developed by yourself, also consider use hardhat plugin to upload-compilation.
Web UI
Open a transaction's contract tab, e.g. here. Click the "Start Override" Button.
Then you will enter editing mode. At the top of the file, insert
import "sentio/console.sol"
to the import section of the file. And then you can do any console log just as you can do with hardhat or foundry. As the follow picture shows, once the editing is done, click "Submit & Simulate".
Success uploading will generate an compilation with ID.
Continue with "Open Simulator", all parameters especially the source override will be configured correctly.
Once simulation is done, the console log will be put in the top section.
IDE & Command Line
You can also do that in your local VS Code if you need more advanced editing, first download the contract as zip.
After extracting the zip file, you will get file structure like this. It is recommended to use VS Code as the development environment, which has better linting support.
/src
contains source code for the contract./metadata.json
contains necessary information for compiling and uploading./compile.sh
fetch solidity compilers and compile on your local machine./upload.sh
upload modified source code to Sentio.
In the source folder, sentio/console.sol
will be included besides the original sources of the contract. It contains utilities for printing debug information in simulation and transaction replaying, just like console.log
in javascript. Console outputs will be collected and displayed on Sentio debugger.
- import
sentio/console.sol
- Add logs wherever you want
- Try compiling on your local machine. Note that for old versions of solidity compilers, warnings may appear in the console. It won't affect actual compiling process.
- Upload your compilation to Sentio
If you haven't login with Sentio CLI before, you may need to login first following the instructions in the console.
Now you can go back to the original transaction page, open simulator and choose your compilation in Source Override section and start simulation.
Updated 5 months ago