The 140 char Guide to Ethereum Development
This is a concise step-by-step guide to the process of starting the development environment using the Truffle framework for development in Ethereum using Solidity. This has assumed you have the prerequisites installed (if you want to know more on the prerequisites, there are plenty of articles on Medium or just use a search engine) and ready to go. This article also assumes you are using Linux (Debian-based).
Step 0: Start the Ethereum Testnet (EthereumJS-TestRPC) by just typing:
$ testrpc
Step 1: Make a new directory you want to develop from, in your environment.
Step 1a: Type in your terminal window:
$ truffle init
If you are moving into an existing directory Step 1a is not needed.
Step 2: Create a new “smart” contract by typing:
$ truffle create: contract filename_of_your_contract
If you’ve already create one, Step 2 is not needed.
Step 3: Once you’ve written your “smart” contract in Solidity, use:
$ truffle compile
Step 4: Migrate your contract by typing:
$ truffle migrate
Step 5: Edit migrations file located in /migrations/2_deploy_contracts.js by changing this:
module.exports = function(deployer) {
deployer.deploy(ConvertLib);
deployer.autolink();
deployer.deploy(MetaCoin);
};
to add this:
module.exports = function(deployer) {
deployer.deploy(ConvertLib);
deployer.autolink();
deployer.deploy(MetaCoin);
// ADD THIS LINE
deployer.deploy(filename_of_your_contract);
};
Step 6: Run the migration again by typing in your Terminal window:
$ truffle migrate --reset
For more on migrations…
Step 7: To test the interaction with you “smart” contract within the Truffle framework type:
$ truffle console
These are the basic steps when developing and testing your contracts on the Ethereum testnet. Again, this article was meant to be short and sweet for developers starting out in a test environment.
Feel free to comment and make suggestions/improvements to this article, if necessary so its up-to-date.
All this information is already public, no entity part of this article owns any of this content. This article was to try and present information more concise and to-the-point for any developer needing a reference/cheat sheet.