Last active
May 19, 2020 13:22
-
-
Save jessgusclark/08c728d7e5aac1eba7906d3dd8de1679 to your computer and use it in GitHub Desktop.
Get the contract addresses needed for the RNS Manager after running the RNS suite migration
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Procedrual script that gets the contract addresses from the build | |
// folder after migration. This file can be used inside of the RNS | |
// Manager React application to use the local RKS network. | |
// The code isn't pretty, but it works. | |
// | |
// TO RUN: | |
// Set the two variables below, and then in the console, run: | |
// node getConfig.js | |
// | |
// the output is a json script that can be copied and pasted into the | |
// RNS manager config file. | |
// | |
// VARIABLES: | |
var contractFolder = 'rns-suite/build/contracts/'; | |
var port = '8545'; | |
// end config | |
var fs = require('fs'); | |
var rns = JSON.parse(fs.readFileSync(contractFolder + 'RNS.json', 'utf8')); | |
var registrar = JSON.parse(fs.readFileSync(contractFolder + 'TokenRegistrar.json', 'utf8')); | |
var reverseRegistrar = JSON.parse(fs.readFileSync(contractFolder + 'ReverseRegistrar.json', 'utf8')); | |
var publicResolver = JSON.parse(fs.readFileSync(contractFolder + 'PublicResolver.json', 'utf8')); | |
var nameResolver = JSON.parse(fs.readFileSync(contractFolder + 'NameResolver.json', 'utf8')); | |
var multiChainResolver = JSON.parse(fs.readFileSync(contractFolder + 'MultiChainResolver.json', 'utf8')); | |
var rif = JSON.parse(fs.readFileSync(contractFolder + 'ERC677.json', 'utf8')); | |
var fifsRegistrar = JSON.parse(fs.readFileSync(contractFolder + 'FIFSRegistrar.json', 'utf8')); | |
var fifsAddrRegistrar = JSON.parse(fs.readFileSync(contractFolder + 'FIFSAddrRegistrar.json', 'utf8')); | |
var rskOwner = JSON.parse(fs.readFileSync(contractFolder + 'RSKOwner.json', 'utf8')); | |
var renewer = JSON.parse(fs.readFileSync(contractFolder + 'Renewer.json', 'utf8')); | |
function getAddress(file){ | |
return file.networks[port].address.toLowerCase(); | |
} | |
console.log(' '); | |
console.log('{'); | |
console.log(` "rns": "${getAddress(rns)}",`); | |
console.log(` "registrar": "${getAddress(registrar)}",`); | |
console.log(` "reverseRegistrar": "${getAddress(reverseRegistrar)}",`); | |
console.log(` "publicResolver": "${getAddress(publicResolver)}",`); | |
console.log(` "nameResolver": "${getAddress(nameResolver)}",`); | |
console.log(` "multiChainResolver": "${getAddress(multiChainResolver)}",`); | |
console.log(` "rif": "${getAddress(rif)}",`); | |
console.log(` "fifsRegistrar": "${getAddress(fifsRegistrar)}",`); | |
console.log(` "fifsAddrRegistrar": "${getAddress(fifsAddrRegistrar)}",`); | |
console.log(` "rskOwner": "${getAddress(rskOwner)}",`); | |
console.log(` "renewer": "${getAddress(renewer)}",`); | |
console.log(` "stringResolver": "",`); | |
console.log(` "definitiveResolver": ""`); | |
console.log('}'); | |
console.log(' '); |
Updates
- Jan 27, 2020 - Removed gasPrice from contract since this is handled by the environment variable.
- Jan 29, 2020 - Removed trailing comma from renewer line
- Feb 12, 2020 - Added additional contracts and created helper function to retrieve the address and convert to lowercase.
- May 19, 2020 - Added field for definitiveResolver. This contract needs to be migrated separately.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Example: