Setting up Truffle
Setting up Truffle for your project
- go into your project Directory
truffle init
You need to create your smart contracts in the contracts folder Then you need to create a file int eh migrations folder to process your contract Filename: 2_deploy_contracts.js
var Greetings = artifacts.require("./Greetings.sol"); module.exports = function(deployer){ deployer.deploy(Greetings); };
Now to deploy the contract
Truffle has a build in ganache server and the accounts are the same as ganache Start the development mode of truffle
truffle develop
Open a new terminal window to see the logs Go into the project directory
truffle develop --log
Now to build and deploy the contract switch back to the develop console
migrate --compile-all --reset
To interact with the contract, use the develop console
Greetings.address web3.eth.accounts
before we can call functions of our contract we have to create an instance of it and store it in a local variable
Greetings.deployed().then(function(instance){app = instance;})
It will returned undefined
app app.getGreetings() app.setGreetings("Robert", {from: web3.eth.accounts[0]}) app.getGretings()
Exit the development console
.exit
Ctrl C to exit the log console
Setting up Truffle to interact with Ganache GUI
Edit the truffle.js file. add:
networks: { ganache: { host: "localhost", port: "7545", netork_id: "*" } }
Go to the project directory in terminal. we have to tell truffle to migrate the contract to the ganache network
truffle migrate --compile-all --reset --network ganache