Back to Home

FirstCoin

Token
0x553c1c567401...a516e5f1eb1a
FrontierSource Verified
Deployed August 11, 2015 (10 years ago)Block 69,109

Tutorial-derived coin contract (Solidity v0.1.1), deployed Aug 11, 2015 during the Frontier era.

Key Facts

Deployment Block
69,109
Deployment Date
Aug 11, 2015, 01:07 PM
Code Size
634.0 B

Description

A FirstCoin instance deployed by 0xAd7F5C601260b460ADAC6A54411Ca6Cf07dC83c3 on Aug 11, 2015, during the first days of the Ethereum Frontier era. The bytecode is identical to all other FirstCoin instances — a minimal coin with coinBalanceOf, sendCoin, and CoinTransfer event, compiled with Solidity v0.1.1.

At least nine total FirstCoin deployments occurred between August 8–11, 2015, from four different deployer addresses. The pattern — repeated deployment of the same tutorial-derived contract by different users — illustrates how the earliest Ethereum adopters learned smart contract development.

See the first instance (0x3c401b518252abe3bbbf898a44939699e7da1634) for full documentation.

Heuristic Analysis

The following characteristics were detected through bytecode analysis and may not be accurate.

Detected Type: Token
Has ERC-20-like patterns

Frontier Era

The initial release of Ethereum. A bare-bones implementation for technical users.

Block span: 01,149,999
July 30, 2015March 14, 2016

Bytecode Overview

Opcodes634
Unique Opcodes82
Jump Instructions14
Storage Operations9

Verified Source Available

This contract has verified source code on Etherscan.

View Source Code
Show source code (Solidity)
contract FirstCoin {
    mapping (address => uint) public coinBalanceOf;

    event CoinTransfer(address sender, address receiver, uint amount);

    function FirstCoin(uint supply) {
        coinBalanceOf[msg.sender] = 1000000;
    }

    function sendCoin(address receiver, uint amount) returns(bool sufficient) {
        if (coinBalanceOf[msg.sender] < amount) {
            return false;
        }
        coinBalanceOf[msg.sender] -= amount;
        coinBalanceOf[receiver] += amount;
        CoinTransfer(msg.sender, receiver, amount);
        return true;
    } 
}

External Links