dev-protocol / protocol

⛓ Dev Protocol is an open source middleware for creator's sustainability.
https://devprtcl.com
Mozilla Public License 2.0
68 stars 9 forks source link
ethereum protocol smart-contracts solidity

Dev Protocol

CI Status code style code style: prettier

Dev Protocol

This repository is the place to develop smart contracts for Dev Protocol.

How to use

install

First, install this repository as an npm package.

> npm i -D @devprotocol/protocol

import

You can use the Dev Protocol interface by importing it from a Solidity file.

import {IAddressConfig} from "@devprotocol/protocol/contracts/interface/IAddressConfig.sol";
import {IPropertyGroup} from "@devprotocol/protocol/contracts/interface/IPropertyGroup.sol";

contract TestContract {
    function validatePropertyAddress(address _property) external view {
        IAddressConfig addressConfig = IAddressConfig(0x1D415aa39D647834786EB9B5a333A50e9935b796);
        IPropertyGroup propertyGroup = IPropertyGroup(addressConfig.propertyGroup());
        require(propertyGroup.isGroup(_property), "not property address");
    }
}

This is an example of logic that uses the PropertyGroup contract feature of the Dev Protocol to validate if it is a Property address.

The available interfaces can be found in "node_modules/@devprotocol/protocol/contracts/interface/".

AddressConfig holds the addresses of the contracts used in the Dev Protocol.

AddressConfig address
mainnet:0x1D415aa39D647834786EB9B5a333A50e9935b796
Ropsten:0xD6D07f1c048bDF2B3d5d9B6c25eD1FC5348D0A70

How to contribute:

Read the contributing guide, and create PR when you have time. 🧚✨

How to setup

Executing the following command will compile each contract.

git clone https://github.com/dev-protocol/protocol.git
cd protocol
yarn
yarn generate

run the following command to test each contract.

yarn test

If you use Visual Studio Code, we recommend that you install the following plug-ins:

EditorConfig
vscode-eslint
solidity