Learn how to create and manage trails in the Canvas
user_input
: the user will be required to enter an input when they go through the trailrelational
: this value will come from another node in the trail (a function input/output or an event). More on this later.step_execution
: this means getting the transaction hash from an execution of a specific primary node/step, and is only used in event nodes (to look up event data in that transaction).creator_hardcoded
: you hardcode a value for the useruser_wallet
: the user’s connected wallet address will be used herecode
: write arbitrary typescript code to transform inputs and outputsencode_calldata
: encode a write function to get it’s calldata (useful for multicall/batch and 7702 style transactions)user_input
fields will have to have a value. All inputs are creator_hardcoded
by default, meaning you will have to pick a value for the user.eth_call
’s against contracts. We simplify this by allowing you select the relevant data and create a data node for it. These data nodes will show up horizontally (to the right of the write function node).
In the example above, I deploy a Split (a new contract) from a Split Factory. Then, I want to use the created Split address as the fee recipient for a Clanker token I deploy. This will create an event data node to the right, from which i can set the transaction
relation to be the createSplit
function step from the step beforehand.
Basically, the logical flow is that: createSplit()
→ emits a SplitCreated()
event → splitAddress
from event used in input on deployToken()
on Clanker.
Please watch the video overview at the top of the page to understand this process better.
user_input
input as well that will be shown together to the user all in the same step. Think of it as you’re building up all required input for a form from across different functions, which will roll up into this step.5000000
(5*10^6
). You can see the decimals by checking the decimals()
read function on any token.
Decimals are commonly used for stuff like percentages as well, and can vary between 4-6 decimals. Please be very careful in setting decimals correctly. It is best to take a look at past transactions calling a given function for reference as to what number of decimals are correct. The Sage agent can still hallucinate here, so be careful and verify the amount is correct.
https://herd.eco/trails/{trailId}/overlook