Skip to content

Commit

Permalink
started building the smart contract for lisk
Browse files Browse the repository at this point in the history
  • Loading branch information
georgegoldman committed Oct 27, 2024
1 parent 0baadde commit dee415c
Showing 1 changed file with 74 additions and 51 deletions.
125 changes: 74 additions & 51 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,66 +1,89 @@
## Foundry

**Foundry 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.

## Documentation

https://book.getfoundry.sh/

## Usage

### Build

```shell
$ forge build
# MetaMuse

## Overview
The **MetaMuse** is a decentralized application that allows artists to collaboratively create digital artwork in real-time, mint it as a non-fungible token (NFT) on Lisk, and distribute fractional ownership using Arbitrum. This platform ensures transparent royalty distribution and shared ownership, empowering artists to collaborate creatively and securely.

## Table of Contents
- [Overview](#overview)
- [Features](#features)
- [Tech Stack](#tech-stack)
- [Getting Started](#getting-started)
- [Smart Contract Development](#smart-contract-development)
- [Project Structure](#project-structure)
- [License](#license)

## Features
- **Real-time Collaborative Canvas**: Multiple artists can create and edit artwork in real-time.
- **NFT Minting on Lisk**: The completed artwork is minted as an NFT on the Lisk blockchain.
- **Fractional Ownership on Arbitrum**: Ownership shares and royalties are distributed among collaborators via Arbitrum smart contracts.
- **Decentralized Storage**: Artwork and metadata are stored on IPFS for decentralized, secure storage.

## Tech Stack
- **Blockchain**: Lisk, Arbitrum
- **Smart Contracts**: Solidity, Forge
- **Backend**: Lisk SDK, IPFS (Pinata or Infura)

## Getting Started

### Prerequisites
Make sure you have the following installed:
- [Node.js](https://nodejs.org/) and npm
- [Lisk SDK](https://lisk.io/)
- [Arbitrum Development Environment](https://developer.offchainlabs.com/)
- [IPFS CLI](https://docs.ipfs.io/install/)
- [Foundry & Forge](https://book.getfoundry.sh/)

### Installation
1. Clone the repository:
```
git clone https://github.com/yourusername/collaborative-nft-art-platform.git
cd collaborative-nft-art-platform
```
Install dependencies:
```

### Test

```shell
$ forge test
npm install
```
Set up IPFS:

### Format
Use Pinata or Infura for IPFS API keys to store artwork and metadata.
### Running the Application
Start the local development server:

```shell
$ forge fmt
```

### Gas Snapshots

```shell
$ forge snapshot
npm start
```
**Launch Lisk and Arbitrum nodes:**

### Anvil

```shell
$ anvil
```
Follow setup instructions for Lisk SDK and Arbitrum.
Deploy the Arbitrum smart contracts with Forge:

### Deploy
Ensure Forge is installed and set up by following the Foundry book.

```shell
$ forge script script/Counter.s.sol:CounterScript --rpc-url <your_rpc_url> --private-key <your_private_key>
**Deploy contracts from the contracts folder:**
```
forge create --rpc-url <ARBITRUM_RPC_URL> --private-key <YOUR_PRIVATE_KEY> src/YourContract.sol:YourContract
```
### Smart Contract Development
Smart contracts in this project handle:

### Cast
Fractional Ownership: Distributing shares among contributors.
Royalty Distribution: Automatically redistributing royalties to collaborators on resale.
Smart contracts are located in the contracts/ directory. Forge scripts for testing and deployment can be added in script/.

```shell
$ cast <subcommand>
### Project Structure
```
bash
Copy code
collaborative-nft-art-platform/
├── contracts/
├── src/
│ ├── components/
│ └── services/
├── script/
├── README.md
└── package.json
```
### License
This project is licensed under the MIT License - see the LICENSE file for details.

### Help

```shell
$ forge --help
$ anvil --help
$ cast --help
```

0 comments on commit dee415c

Please sign in to comment.