Difference between revisions of "Setting up Coding Environment"
Jump to navigation
Jump to search
(Created page with "Go into the directory that has the project npm init Accepts all defaults Install javascript libraries needed for this projects npm install web3@0.20.0 solc@0.4.18") |
|||
Line 4: | Line 4: | ||
Install javascript libraries needed for this projects | Install javascript libraries needed for this projects | ||
npm install web3@0.20.0 solc@0.4.18 | npm install web3@0.20.0 solc@0.4.18 | ||
=Compile Code= | |||
Start Ganache | |||
Go the the root of your project | |||
Start a node console | |||
node | |||
Web3 = require('web3') | |||
web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:7545")) | |||
//last line creates a new web3 object and connect it to the local ganache node | |||
web3.eth.accounts // this will now list he 10 accounts on ganache | |||
Load source and compile it | |||
load library from npm dependencies | |||
solc = require('solc') | |||
sourceCode = fs.readFileSync('greetings.sol').toString() | |||
// this loads the source code into a string | |||
Now we compile it | |||
compileCode = solc.compile(sourceCode) | |||
Get the ABI interface | |||
contractABI = JSON.parse(compiledCode.contracts[':Greetings'].interface) | |||
// The greetings is one in the constructor, thats why its upper case | |||
steps to Deploy contract to Ethereum Node | |||
greetingsContract = web3.eth.contract(contractABI) | |||
extract bytecode | |||
byteCode = compileCode.contracts[':Greetings'].bytecode | |||
Deploy Contract | |||
greetingsDeployed = greetingsContract.new({data:byteCode, from: web3.eth.accounts[0],gas: 4700000}) | |||
Create an instance of the contract |
Revision as of 00:48, 11 March 2018
Go into the directory that has the project
npm init
Accepts all defaults Install javascript libraries needed for this projects
npm install web3@0.20.0 solc@0.4.18
Compile Code
Start Ganache Go the the root of your project Start a node console
node Web3 = require('web3') web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:7545")) //last line creates a new web3 object and connect it to the local ganache node web3.eth.accounts // this will now list he 10 accounts on ganache
Load source and compile it load library from npm dependencies
solc = require('solc') sourceCode = fs.readFileSync('greetings.sol').toString()
// this loads the source code into a string
Now we compile it
compileCode = solc.compile(sourceCode)
Get the ABI interface
contractABI = JSON.parse(compiledCode.contracts[':Greetings'].interface) // The greetings is one in the constructor, thats why its upper case
steps to Deploy contract to Ethereum Node
greetingsContract = web3.eth.contract(contractABI)
extract bytecode
byteCode = compileCode.contracts[':Greetings'].bytecode
Deploy Contract
greetingsDeployed = greetingsContract.new({data:byteCode, from: web3.eth.accounts[0],gas: 4700000})
Create an instance of the contract