How to do it...

  1. Consider the following token contract as an example for debugging. This contract is for illustration purposes only. Never use it in your application:
pragma solidity ^0.4.23;contract TokenContract {  mapping (address => uint) balances;  event Transfer(address indexed _from, address indexed _to, uint256 _value);  constructor() public {    balances[msg.sender] = 100000;  }  function sendToken(address receiver, uint amount) public returns(bool) {    require(balances[msg.sender] < amount);    balances[msg.sender] -= amount;    balances[receiver] += amount;    emit Transfer(msg.sender, receiver, amount);    return true;  }  function getBalance(address addr) public view returns(uint) {    return balances[addr];  }}
  1. Let's try to debug the sendToken function. ...

Get Ethereum Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.