In order to optimize the cost of your recurring script executions, we recommend first deploying your script. This can be done using the Fuels CLI and running the deploy command .
By deploying the script, its bytecode is stored on chain as a blob. The SDK will then produce bytecode that can load the blob on demand to execute the original script. This far reduces the repeat execution cost of the script.
To deploy a script, we can use the Fuels CLI and execute the deploy command .
This will perform the following actions:
forc
version We can then utilize the above generated types like so:
// #import { Provider, Wallet };
import { WALLET_PVT_KEY } from 'path/to/my/env/file';
import { TypegenScriptLoader } from 'path/to/typegen/outputs';
const provider = await Provider.create(providerUrl);
const wallet = Wallet.fromPrivateKey(WALLET_PVT_KEY, provider);
// First, we will need to instantiate the script via it's loader bytecode. This can be imported from the typegen outputs
// that were created on `fuels deploy`
const script = new TypegenScriptLoader(wallet);
// Now we are free to interact with the script as we would normally, such as overriding the configurables
const configurable = {
AMOUNT: 20,
};
script.setConfigurableConstants(configurable);
const { waitForResult } = await script.functions.main(10).call();
const { value, gasUsed } = await waitForResult();
// value: 10