Skip to content

Latest commit

 

History

History
39 lines (24 loc) · 2.35 KB

README.md

File metadata and controls

39 lines (24 loc) · 2.35 KB

Kadenamint

Introducing Kadenamint

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.

Contracts

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).

Hacking

Dependencies

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.

Developing

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:

hoogle

Launches a hoogle server locally, with documentation for the exact versions of the Haskell dependencies in use.

repl

Launches an Haskell repl where networks/nodes can be controlled interactively.

test

Like watch, but will also run a Kadenamint network in a temporary directory and broadcast some coin transfer transactions, after compilation.

tmux

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.

watch

Continously monitors the source code for errors and warnings, reloading on changes.