Back to Home

elcoin

Token
0xa04bf47f0e9d...4c7d7ad121aa
FrontierContract #7,245Source VerifiedEdit this contract
Deployed January 27, 2016 (10 years ago)Block 912,760

Jan 2016 ELC token using the Ambisafe Ambi v1 multi-authority framework with on-chain PoS rewards.

Frontier EraVerified Source

Historical Significance

Elcoin (ELC) is the Jan 2016 production deployment of the elCoin token, an early Ethereum currency with a hybrid Proof-of-Stake + Proof-of-Transaction reward model. The contract is one of the first real-world applications of Ambisafe's Ambi multi-authority framework, predating both their EToken2 standard and the broader role-based access control patterns that would later become common in OpenZeppelin's AccessControl.

Context

Deployed by Ambisafe four months before the source of a successor version landed in the public ElcoinCurrency/ElcoinContract GitHub repo (May 2016). The Jan 2016 source itself was never made public. This deployment uses the v1 Ambi interface (getChildCount + getChildAddress for role iteration), which was replaced by hasRelation(name, role, address) in the May commit and disappeared from every Ambisafe public repo. The Ambi v1 contract sits at 0xa95b9127e7102dcfa3869c47ee12a0ec85c261c5, deployed 45 minutes earlier by the same EOA. Balances live in an external ElcoinDb (slot 0 stores the Ambi address, balances are looked up via ambi.getNodeAddress("elcoinDb")). The reconstruction was guided by EH's Palkeoramix decompilation: every function body, the storage layout, the four role strings (security, currencyOwner, pool, cron), the 31 function selectors, and the event topics were verified against the decomp output. The deployed bytecode encodes role-string literals via an Ambisafe-internal solc optimizer pass (PUSH13 0x31bab93932b731bca7bbb732b9 * 2^153, mathematically equivalent to but byte-shorter than the natural PUSH13 "currencyOwner" * 2^152) that does not appear in any standard solc 0.1.x / 0.2.x / 0.3.x release tested.

Token Information
Token Name
elcoin
Key Facts
Deployment Block
912,760
Deployment Date
Jan 27, 2016, 02:47 PM
Code Size
10.8 KB
Gas at Deploy
2,974,874
Transactions by Year
20167
20238

Source Verified

source_reconstructed
Compiler: solc 0.

Source reconstructed from EH's Palkeoramix decompilation. All 31 function selectors, the Ambi v1 interface, the role-to-function mapping (security x7, currencyOwner x4, pool x1, cron x1), storage layout (slot 0=ambi, slot 1=name, slot 2=recoveredIndex, slot 3=recovered, slot 4=totalSupply, slots 5-8=fees+feeAddr, slot 9=allowanceIndex, slot 10=allowances struct array), and event topics are all recovered. Exact bytecode match is not achievable: the deployed contract was compiled with an Ambisafe-internal solc optimizer pass that encodes role-string literals via non-byte-aligned PUSH+EXP tricks (e.g. "currencyOwner" as PUSH13 0x31bab93932b731bca7bbb732b9 * 2^153) not present in any standard solc release. The reconstructed source compiles cleanly under multiple solc 0.1.x-0.2.0 nightlies (optimizer ON) and produces a runtime that is structurally identical (same dispatcher, same 31 selectors, same external-call selectors, same event topics) but about 10% larger.

Heuristic Analysis

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

Detected Type: Token
Contains SELFDESTRUCT opcode
Has ERC-20-like patterns

Bytecode Overview

Opcodes11,061
Unique Opcodes242
Jump Instructions514
Storage Operations229

External Links