@aragon/osx
v1.3.0
Published
The Aragon OSx Solidity contracts
Downloads
421
Keywords
Readme
Aragon OSx Protocol contracts
Welcome to the contracts powering the Aragon OSx Protocol!
Install the NPM package to import the solidity source files or the contract artifacts:
# solidity source files
yarn add @aragon/osx
# JSON ABI and bytecode
yarn add @aragon/osx-artifacts
Get Started
To get started running your repository locally:
Copy .env.example
into a file called .env
or create a new one with these 3 keys defined:
# keys used for running tests
HARDHAT_DAO_ENS_DOMAIN=dao.eth
HARDHAT_PLUGIN_ENS_DOMAIN=plugin.eth
MANAGINGDAO_SUBDOMAIN=management
Run these commands on the project's root folder in your terminal:
npx hardhat accounts
npx hardhat compile
npx hardhat clean
npx hardhat test
npx hardhat node
npx hardhat help
REPORT_GAS=true npx hardhat test
npx hardhat coverage
npx hardhat run scripts/deploy.ts
TS_NODE_FILES=true npx ts-node scripts/deploy.ts
npx eslint '**/*.{js,ts}'
npx eslint '**/*.{js,ts}' --fix
npx prettier '**/*.{json,sol,md}' --check
npx prettier '**/*.{json,sol,md}' --write
npx solhint 'contracts/**/*.sol'
npx solhint 'contracts/**/*.sol' --fix
Documentation
You can find all documentation regarding how to use this protocol in Aragon's Developer Portal here.
Contributing
If you like what we're doing and would love to support, please review our CONTRIBUTING_GUIDE.md
here. We'd love to build with you.
Etherscan verification
To try out Etherscan verification, you first need to deploy a contract to an Ethereum testnet that's supported by Etherscan, such as goerli or sepolia.
In this project, copy the .env.example
file to a file named .env, and then edit it to fill in the details. Enter your Etherscan API key, your Goerli node URL (eg from Alchemy), and the private key of the account which will send the deployment transaction. With a valid .env file in place, first deploy your contract:
hardhat run --network goerli scripts/sample-script.ts
Then, copy the deployment address and paste it in to replace DEPLOYED_CONTRACT_ADDRESS
in this command:
npx hardhat verify --network goerli DEPLOYED_CONTRACT_ADDRESS "Hello, Hardhat!"
Performance optimizations
For faster runs of your tests and scripts, consider skipping ts-node's type checking by setting the environment variable TS_NODE_TRANSPILE_ONLY
to 1
in hardhat's environment. For more details see the documentation.
Releases
Contract releases are tracked in Releases.md