## Ghost DAO protocol

[ghostDAO](https://app.dao.ghostchain.io/) is a decentralized multi-chain reserve currency protocol. ghostDAO protocol is powered by [GHOST native blockchain](https://ghostchain.io/) enabling anonymous cross-chain transactions of GHST. Each eGHST token is backed by a basket of stablecoins in the ghostDAO treasury, giving it an intrinsic value that it cannot fall below.

## Usage

You need to install [foundry](https://getfoundry.sh/) or use contracts from `/src` folder with any tool you are comfortable with.

### Clone

```shell
$ git clone https://git.ghostchain.io/ghostchain/ghost-dao-contracts.git
```

### Foundry preparation

```shell
$ git submodule init
$ git submodule update
$ forge soldeer install
```

### Build contracts

```shell
$ forge build
```

### Test contracts

```shell
$ forge test
```

### Environment

```shell
$ cp .env.template .env
# populate the .env file with specific values for environment variables
```

### Local deployment

```shell
# in first terminal
$ anvil

# in second terminal
$ ./deployer.sh --network anvil-localnet
```

### Deployer help

```shell
$ ./deployer.sh --help
```

## Technologies Used

[Foundry](https://getfoundry.sh/) is a blazing fast, portable and modular toolkit for Ethereum application development written in Rust.

Foundry consists of:

-   **Forge**: Ethereum testing framework (like Truffle, Hardhat and DappTools).
-   **Cast**: Swiss army knife for interacting with EVM smart contracts, sending transactions and getting chain data.
-   **Anvil**: Local Ethereum node, akin to Ganache, Hardhat Network.
-   **Chisel**: Fast, utilitarian, and verbose solidity REPL.
