Taqueria Tezos Client Plugin
The Tezos Client plugin provides tasks to analyze contracts including type checking and simulating of Michelson (.tz
) smart contracts. They both execute against a protocol (currently kathmandu). We'll enable a --protocol
flag in the future to allow users to specify a protocol to use
Requirements
- Taqueria v0.26.0 or later
- Node.js v16.16 or later. (v17.x.x or later is not supported)
- Docker v20.10.12 or later
Installation
To install the Tezos Client plugin on a Taqueria project, navigate to the project folder and run:
taq install @taqueria/plugin-tezos-client
📃 Note
You can override the Tezos-Client version used by the plugin by creating the environment variable
TAQ_TEZOS_CLIENT_IMAGE
and setting it to your desired Tezos-Client Docker image
taq typecheck
task
The Basic usage is:
taq typecheck <contractName>
Basic description
This task typechecks a Michelson file in artifacts
and reports a failure or success
taq typecheck-all
task
The Basic usage is:
taq typecheck-all
Basic description
Performs the same function as taq typecheck
, but performs type-checking for all contracts in the artifacts
directory.
taq simulate
task
The Basic usage is:
taq simulate <contractName> <--param paramFileName>
Basic description
This task runs a Michelson file in artifacts
as a simulation and ouputs a result suggesting a failure or success. If it's a success, it shows the updated storage value, emitted operations, and big map differences
Options
-
By default, the storage file it will use to simulate the contract is CONTRACT.default_storage.tz where CONTRACT is the name of the contract. If you wish to specify another storage file in
artifacts
, use the--storage
flag -
The
--param
flag is mandatory and you must supply the filename, inartifacts
, that contains the actual parameter value -
By default, the entrypoint is
default
, which points to no specific annotated entrypoint. Use--entrypoint
to specify an annotated entrypoint to call. E.g. if the parameter type of a Michelson contract is(or (or (int %decrement) (int %increment)) (unit %reset))
, then there are two ways to call theincrement
entrypoint, with parameter(Left (Right 14))
or with parameter14
if your command contains--entrypoint increment
taq client
task
The Basic usage is:
taq client --command <command to pass to the underlying octez-client binary>
Wrap the value for the --command
flag with quotes.
📃 Note
This task allows you to run arbitrary octez-client native commands, but they might not benefit from the abstractions provided by Taqueria
Plugin Architecture
This is a plugin developed for Taqueria built on NodeJS using the Taqueria Node SDK and distributed via NPM