Whitepaper - Ethereum Classic With Cover
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Using geth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67<br />
1.6.4 GPU mining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68<br />
Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68<br />
Ubuntu Linux set-up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68<br />
Mac set-up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69<br />
Windows set-up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69<br />
Using ethminer with geth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70<br />
Using ethminer with eth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70<br />
1.6.5 Pool mining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72<br />
Mining pools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72<br />
1.6.6 Mining resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72<br />
POS vs POW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73<br />
1.7 Contracts and Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73<br />
1.7.1 Account Types, Gas, and Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . 73<br />
EOA vs contract accounts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73<br />
What is a transaction? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74<br />
What is a message? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74<br />
What is gas? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74<br />
Estimating transaction costs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75<br />
Account interactions example - betting contract . . . . . . . . . . . . . . . . . . . . . . . 76<br />
Signing transactions offline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78<br />
1.7.2 Contracts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79<br />
What is a contract? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79<br />
<strong>Ethereum</strong> high level languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79<br />
Writing a contract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80<br />
Compiling a contract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80<br />
Create and deploy a contract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82<br />
Interacting with a contract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83<br />
Contract metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83<br />
Testing contracts and transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84<br />
1.7.3 Accessing Contracts and Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . 85<br />
RPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85<br />
Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85<br />
Deploy contract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85<br />
Interacting with smart contracts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87<br />
Web3.js . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88<br />
Console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88<br />
Viewing Contracts and Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89<br />
1.7.4 Mix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89<br />
Project Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89<br />
Scenarios Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90<br />
State Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91<br />
Transaction Explorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92<br />
JavaScript console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93<br />
Transaction debugger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94<br />
Dapps deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94<br />
Code Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95<br />
1.7.5 Dapps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95<br />
Dapp directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95<br />
Dapp browsers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96<br />
1.7.6 Developer Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96<br />
Dapp development resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96<br />
Mix-IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97<br />
IDEs/Frameworks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97<br />
<strong>Ethereum</strong>-console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97<br />
Base layer services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98<br />
The EVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99<br />
1.7.7 <strong>Ethereum</strong> Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99<br />
iii