@ocskiurity/n0tte
v1.0.6
Published
CLI tool for FHE-ML tasks
Downloads
11
Readme
Fhenix Hardhat Example
This repository contains a sample project that you can use as the starting point for your Fhenix project. It's also a great fit for learning the basics of Fhenix smart contract development.
This project is intended to be used with the
Fhenix Hardhat Beginners Tutorial, but you should be
able to follow it by yourself by reading the README and exploring its
contracts
, tests
, deploy
and tasks
directories.
It comes with two fhenix-specific hardhat plugins:
fhenix-hardhat-plugin
: The main plugin for fhenix development in hardhat. It injectsfhenixjs
into the hardhat runtime environment, which allows you to interact with encrypted data in your tests and tasks.fhenix-hardhat-docker
: A plugin that allows you to run a local Fhenix testnet in a docker container. This is useful for testing your contracts in a sandbox before deploying them on a testnet or on mainnet.
Quick start
The first things you need to do are cloning this repository and installing its dependencies:
git clone https://github.com/FhenixProtocol/fhenix-hardhat-example.git
cd fhenix-hardhat-example
pnpm install
Once installed, let's run a LocalFhenix instance:
pnpm localfhenix:start
This will start a LocalFhenix instance in a docker container. If this worked you should see a Started LocalFhenix successfully
message in your console.
If not, please make sure you have docker
installed and running on your machine. You can find instructions on how to install docker here.
Now that we have a LocalFhenix instance running, we can deploy our contracts to it:
npx hardhat deploy
Note that this template defaults to use the localfhenix
network, which is injected into the hardhat configuration.
Finally, we can run the tasks with:
pnpm task:getCount # => 0
pnpm task:addCount
pnpm task:getCount # => 1
pnpm task:addCount --amount 5
pnpm task:getCount # => 6
TODO: frontend
More Info
To learn more about the Fhenix Hardhat plugin, check out the Fhenix Hardhat Plugin Repository.