Smart Contracts SDK
Learn how to use the ZP Smart Contract SDK to write, compile and test smart contracts in the ZF* language.
You will need to have mono installed. Instructions for your OS can be found here. For Linux, you will need either the
mono-devel
or mono-complete
package. Do not install mono from your package manager - follow the instructions on the mono website.- Clone this repo
- Run the following commands. Note that this could take a few minutes.
cd ZFS-SDK
./paket restore
./build.sh
- Clone this repo
- Run the following commands. Note that this could take a few minutes.
cd ZFS-SDK
mono paket restore
./build.sh
- 1.Install mono-devel. If you choose to install via a package manager, add Mono's own repository first.
- 2.
- 1.
- 2.Recommended to install Node LTS
nvm install 8.9.4
- 1.
- 2.
- 3.
- 1.Install mono-devel. If you choose to install via a package manager, add Mono's own repository first.
- 2.Install Nodejs (Version >= 6)
- 1.
- 2.Recommended to install Node LTS (8.9.4)
nvm install --lts
Run the following commands in the Terminal / Command Prompt:
npm config set @zen:registry https://www.myget.org/F/zenprotocol/npm/
Run the following commands in the Terminal / Command Prompt:
npm install @zen/zebra -g
USAGE: zebra [--help] [<subcommand> [<options>]]
SUBCOMMANDS:
create <options> Create a new template contract
elaborate, e <options>
Elaborate the source File and verify
verify, v <options> Verify the source file
extract, x <options> Extract the source file
compile, c <options> Compile from source file
pack, p <options> Pack the contract to be activated on zen blockchain
generate-fsx, g <options>
Generate a .fsx file to test the contract with
run-fsx, r <options> Run the given .fsx file, automatically loading Zen dlls.
contractid, cid <options>
Compute contract ID.
acost, ac <options> Compute activation cost.
info, i <options> Get contract information
Use 'zebra <subcommand> --help' for additional information.
OPTIONS:
--help display this list of options.
USAGE: zebra create [--help] <filename>
FILENAME:
<filename> File name of the generated contract
OPTIONS:
--help display this list of options.
USAGE: zebra elaborate [--help] [--z3rlimit <rlimit>] [--log-types] <filename>
FILENAME:
<filename> File name of the contract to elaborate
OPTIONS:
--z3rlimit, -z <rlimit>
Z3 rlimit
--log-types, -t Log types
--help display this list of options.
USAGE: zebra verify [--help] [--z3rlimit <rlimit>] [--log-types] <filename>
FILENAME:
<filename> File name of the contract to verify
OPTIONS:
--z3rlimit, -z <rlimit>
Z3 rlimit
--log-types, -t Log types
--help display this list of options.
USAGE: zebra extract [--help] [--z3rlimit <rlimit>] [--log-types] <filename>
FILENAME:
<filename> File name of the contract to extract
OPTIONS:
--z3rlimit, -z <rlimit>
Z3 rlimit
--log-types, -t Log types
--help display this list of options.
USAGE: zebra compile [--help] [--z3rlimit <rlimit>] [--log-types] <filename>
FILENAME:
<filename> File name of the contract to compile
OPTIONS:
--z3rlimit, -z <rlimit>
Z3 rlimit
--log-types, -t Log types
--help display this list of options.
USAGE: zebra pack [--help] <filename>
FILENAME:
<filename> File name of the contract to pack
OPTIONS:
--help display this list of options.
USAGE: zebra generate-fsx [--help] <filename>
FILENAME:
<filename> File name of the source contract to generate FSX script from
OPTIONS:
--help display this list of options.
USAGE: zebra run-fsx [--help] <filename>
FILENAME:
<filename> File name of the FSX script
OPTIONS:
--help display this list of options.
USAGE: zebra contractid [--help] <filename>
FILENAME:
<filename> File name of the contract
OPTIONS:
--help display this list of options.
USAGE: zebra acost [--help] [--numofblocks <uint>] [--z3rlimit <rlimit>] <filename>
FILENAME:
<filename> File name of the contract
OPTIONS:
--numofblocks, -n <uint>
Number of blocks
--z3rlimit, -z <rlimit>
Z3 rlimit
--help display this list of options.
USAGE: zebra info [--help] [--z3rlimit <rlimit>] <filename>
FILENAME:
<filename> File name of the contract
OPTIONS:
--z3rlimit, -z <rlimit>
Z3 rlimit
--help display this list of options.
Last modified 2yr ago