Smart Contracts SDK
Learn how to use the ZP Smart Contract SDK to write, compile and test smart contracts in the ZF* language.
Zen-SDK Repo -> https://github.com/zenprotocol/ZFS-SDK
Installation
From Source
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.
Linux
Clone this repo
Run the following commands. Note that this could take a few minutes.
cd ZFS-SDK
./paket restore
./build.sh
OSX
Clone this repo
Run the following commands. Note that this could take a few minutes.
cd ZFS-SDK
mono paket restore
./build.sh
From NPM
OSX
Install mono-devel. If you choose to install via a package manager, add Mono's own repository first.
Recommended to install using NVM
Recommended to install Node LTS
nvm install 8.9.4
Windows
Install .NET Framework 4.7.
Install Nodejs (LTS version recommended)
Open the Command Prompt
Linux
Install mono-devel. If you choose to install via a package manager, add Mono's own repository first.
Install Nodejs (Version >= 6)
Recommended to install using NVM
Recommended to install Node LTS (8.9.4)
nvm install --lts
Point your npm directory to our repository
Run the following commands in the Terminal / Command Prompt:
npm config set @zen:registry https://www.myget.org/F/zenprotocol/npm/
Installing / Updating
Run the following commands in the Terminal / Command Prompt:
npm install @zen/zebra -g
Usage
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.
create
USAGE: zebra create [--help] <filename>
FILENAME:
<filename> File name of the generated contract
OPTIONS:
--help display this list of options.
elaborate
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.
verify
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.
extract
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.
compile
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.
pack
USAGE: zebra pack [--help] <filename>
FILENAME:
<filename> File name of the contract to pack
OPTIONS:
--help display this list of options.
generate-fsx
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.
run-fsx
USAGE: zebra run-fsx [--help] <filename>
FILENAME:
<filename> File name of the FSX script
OPTIONS:
--help display this list of options.
contractid
USAGE: zebra contractid [--help] <filename>
FILENAME:
<filename> File name of the contract
OPTIONS:
--help display this list of options.
acost
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.
info
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 updated