# Run ## Deploy contract: Token, Flow and Mine contracts ### Setup Environment Install dependencies Node.js, yarn, hardhat. * Linux * Ubuntu ```shell # node >=12.18 sudo apt install npm sudo npm install --global yarn sudo npm install --global hardhat ``` * Mac ```shell brew install node sudo npm install --global yarn sudo npm install --global hardhat ``` * Windows Download and install node from [here](https://nodejs.org/en/download/) ```shell npm install --global yarn npm install --global hardhat ``` ### Download contract source code ```shell git clone https://github.com/zero-gravity-labs/zerog-storage-contracts.git cd zerog-storage-contracts ``` Add target network to your hardhat.config.js, i.e. ```shell # example networks: { targetNetwork: { url: "******", accounts: [ "******", ], }, }, ``` ### Compile ```shell yarn yarn compile ``` ### Deploy contract ```shell npx hardhat run scripts/deploy.ts --network targetnetwork ``` Keep contracts addresses ## Run ZeroGStorage Update coinfig run/config.toml as required: ```shell # p2p port network_libp2p_port # rpc endpoint rpc_listen_address # peer nodes network_libp2p_nodes # flow contract address log_contract_address # mine contract address mine_contract_address # layer one blockchain rpc endpoint blockchain_rpc_endpoint ``` Run node ```shell cd run ../target/release/zgs_node --config config.toml ```