Kadenamint is an implementation of the Pact smart contract language on Tendermint.
The announcement blogpost can be found here.
For more questions, you can join Kadena's discord.
On the Genesis block, Kadenamint loads Pact's coin contract, sets up some initial accounts with funds, and their keys for demonstration purposes. You can then broadcast transactions with Pact code to manipulate these accounts (e.g. transfer funds).
The Nix package manager is required for developing on this project. You can download it by going here and clicking "Get Nix". All other dependencies are handled by Nix. Note that Nix does not currently work on Windows - you will need either a virtual machine or Windows Subsystem for Linux.
To speed up the initial builds you can add public binary caches by following these instructions.
Several workflows are covered by the scripts at the root of the repository - they might take a long while to run the first time since Nix might not have cached the dependencies yet:
Launches a hoogle server locally, with documentation for the exact versions of the Haskell dependencies in use.
Launches an Haskell repl where networks/nodes can be controlled interactively.
Like watch
, but will also run a Kadenamint network in a temporary directory and broadcast some coin transfer transactions, after compilation.
Launches a tmux session with a Tendermint testnet initialized. Adds an extra panel for each node with an Haskell repl where the prompt is prepopulated by the command to launch the node.
Continously monitors the source code for errors and warnings, reloading on changes.