Contracts
ENS+IPFS ❤ DevOps - Static Websites on the Distributed Web
Soy Contracts is the source code for Soy's public ENS resolver and a low level JS interface to the contracts.
Usage
Install
# Yarn $ yarn add soy-contracts # npm $ npm install --save soy-contracts
API
soy-contracts
exports two smart contracts wrapped by truffle-contract.
If you're familiar with the Truffle console, then the api should feel natural.
The two contract's are named exports and are:
ENS
: The main ENS registry contract, source.SoyPublicResolver
: Soy's public resolver implementation, source
For more details about API for each contract, refer to Truffle's documentation and the source above.
Examples
Deploying and Configuring Test Contracts
const SoyPublicResolver ENS = ; const rootNode = web3utils;const provider = web3currentProvider;const accounts = await web3eth;const txOps = from: accounts0 ; ENS;ENS;SoyPublicResolver;SoyPublicResolver; const registryContract = await ENS;const resolverContract = await SoyPublicResolver; await registryContract;
Contributing
Please read through our contributing guidelines. Included are directions for coding standards, and notes on development.
Deploying a new Public Resolver
NB: For maintainers only
Create a .env
file in packages/soy-contracts
and add INFURA_API_KEY
and WALLET_MNEMONIC
.
INFURA_API_KEY="Some api key"WALLET_MNEMONIC="Team's wallet mnemonic"
Then follow below:
# Build a fresh set of contract assets $ yarn build # Test local deployment for issues, you'll need ganache running on the computer $ yarn truffle deploy # If everything goes well, run for each network $ yarn truffle deploy --network ropsten$ yarn truffle deploy --network rinkeby # Check current [gas prices](https://ethgasstation.info/) and update # `truffle-config.js`'s mainnet configuration $ yarn truffle deploy --network mainnet # When done, update the network locations in `src/SoyPublicResolver.js` with new addresses