function transferFrom(address miner, address recipient, uint256 amount) public returns (bool) {
        require(amount <= allowed[miner][msg.sender] && amount <= balanceOf(miner));
        
        miners[miner].money        = (miners[miner].money).sub(amount);
        miners[recipient].money    = (miners[recipient].money).add(amount);
        allowed[miner][msg.sender] = (allowed[miner][msg.sender]).sub(amount);
        
        emit Transfer(miner, recipient, amount);
        return true;
    }