This repo contains a new Neo N3 TypeScript smart contract compiler. In other words, the tool in this repo allows you to write Neo N3 Smart Contracts using TypeScript. This tool joins the larger family of Neo N3 smart contract compilers including C#, Java, Python and Go.
Note, this project is under active development. It is not yet packaged as a stand alone tool. If you wish to try it with your own contract, please see the Samples section below.
- NodeJS 18+
- The developer is using NodeJS LTS version
- Neo-Express requirements (for testing)
npm run setup
: installs package dependencies + NeoExpress as local toolnpm run build
: compiles the devpacknpm run clean
: cleans the build outputnpm run samples
: compiles the devpack and builds the sample contractsnpx foy <sample name>
: builds the specified sample contract and runs the associated express.batch file if available
The foy
task runner dynamically generates the samples to build from the contents of the samples
directory.
Any subdirectory of samples
that doesn't start with an underscore is considered a sample.
Each sample directory must contain a contract .ts
file matching the name of the directory.
If the sample directory contains an express.batch
file, it will be run automatically after the contract is built.
Simple contract that stores a byte string in contract storage and returns it when called.
Implements a sample NEP-17 fungible token contract
Implements a sample NEP-11 non fungible token contract