This repository is the place to develop smart contracts for Dev Protocol.
- Whitepaper: https://github.com/dev-protocol/protocol/blob/main/docs/WHITEPAPER.md
- ホワイトペーパー(日本語): https://github.com/dev-protocol/protocol/blob/main/docs/WHITEPAPER.JA.md
First, install this repository as an npm package.
> npm i -D @devprotocol/protocol-v2
You can use the Dev Protocol interface by importing it from a Solidity file.
import {IAddressRegistry} from "@devprotocol/protocol-v2/contracts/interface/IAddressRegistry.sol";
import {IPropertyFactory} from "@devprotocol/protocol-v2/contracts/interface/IPropertyFactory.sol";
contract TestContract {
function validatePropertyAddress(address _property) external view {
IAddressRegistry registry = IAddressRegistry(0x0a15Ccf5E6029AaAeBc5F01b09d3C240Dc56c5f9);
IPropertyFactory propertyFactory = IPropertyFactory(registry.registries("PropertyFactory"));
require(propertyFactory.isProperty(_property), "not property address");
}
}
This is an example of logic that uses the PropertyFactory 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-v2/contracts/interface/".
AddressRegistry holds the addresses of the contracts used in the Dev Protocol.
AddressRegistry address
arbitrum mainet:0x0a15Ccf5E6029AaAeBc5F01b09d3C240Dc56c5f9
arbitrum rinkeby:0xE75929F46355ad8C5C558755D836364f119BdB22
Read the contributing guide, and create PR when you have time. 🧚✨
Executing the following command will compile each contract.
git clone https://github.com/dev-protocol/protocol-v2.git
cd protocol-v2
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