Back to Home
Penis logo

Penis(PNS)

Token
0x63a054d9f188...05454c5a442d
ByzantiumSource VerifiedEdit this contract
Deployed October 17, 2017 (9 years ago)Block 4,378,746

The deployer's first version of the PNS token, from October 2017, with its own themed function names and an airdrop of 80,081.35 PNS to each new address.

Byzantium EraVerified Source

Context

The deployer registered the token in the Parity token registry with the logo URL dar.sh/pns120.png. That logo led to the project website, penis.supply, which is now offline. The earliest archived copy (November 2018) links its Source Code button to Etherscan. Archived copies from October 2020 onward link it to github.com/tkresearch/PNS, which connects the deployer to the tkresearch GitHub account.

The repository contains one source file, pns.sol, committed on 21 December 2018. It is the later contract (0xce853db3359326dB6D03981C9fb42983BbCdd007), not this one. No public copy of this contract's original source has been found.

A BitcoinTalk announcement thread for PNS was posted on 15 November 2017 by the account PNS Token. It covers the later contract (0xce853db3359326dB6D03981C9fb42983BbCdd007), not this one. It describes a Twitter-based airdrop campaign, lists a Wix website, a Twitter account and a Telegram group, and does not name the deployer. One reply on the first page reports finding 80081,350 PNS in a wallet without knowing where it came from, which is the built-in airdrop balance.

Token Information
Logo
Penis logo
via RPC
Token Name
Penis
Symbol
PNS
Decimals
2
Key Facts
Deployment Block
4,378,746
Deployment Date
Oct 17, 2017, 07:24 PM
Code Size
1.9 KB
Transactions by Year
20171

Description

Penis (PNS) is a token contract deployed on 17 October 2017. It is the deployer's first version of the PNS token. In place of the standard ERC-20 function names, it uses names the deployer wrote to fit the token's theme. Only name, symbol and decimals use the usual names.

Supply is created by an airdrop built into the balance logic. Any address that has never interacted with the contract reports a balance of 80,081.35 PNS. The first transfer to or from that address writes the amount to storage and adds it to the total supply. The constructor minted 641,291,450.80 PNS to the deployer, which is 8,008 times the airdrop amount. Airdrops stop once supply reaches the cap of 6,413,314,914.75 PNS, which is 80,085 times the airdrop amount. After the deployer's mint, the cap leaves room for 72,077 airdrops.

As of 8 November 2026, 5,180,062,124.75 PNS had been minted (80.8% of the cap), with 15,400 airdrops left.

Function names, with the matching ERC-20 function in brackets:

  • allTheDongs() (totalSupply)
  • swole() (balance of the caller)
  • howSwole(address) (balanceOf)
  • dispense(address,uint256) (transfer)
  • squeezeOut(address,address,uint256) (transferFrom)
  • swallow(address,uint256) (approve)
  • sacSize(address,address) (allowance)

About 16 minutes later the same deployer created 0xFC8994b01627a9A56b93771e93223533B28ED6a8, which switched to standard ERC-20 function names and used the symbol SIM with a smaller airdrop and cap. Five minutes after that came 0xce853db3359326dB6D03981C9fb42983BbCdd007, the same code as SIM with the symbol PNS and this contract's airdrop and cap. That contract is the PNS token the project website promoted and the one announced on BitcoinTalk.

Source Verified

SolidityNear-exact bytecode match
Compiler: v0.4.8+

solc 0.4.8+commit.60cc1668, optimizer on, 200 runs. Runtime and creation code identical to the chain; only the 32-byte bzzr0 metadata hash differs. Public function names come from the deployed 4-byte selectors. They were recovered with dictionary and brute-force selector searches and each was confirmed with keccak256. Internal names (_allTheDongs, _load, _maxLoad, girth, sharedLoad, swallowed, shareLoad, getGirth) cannot be recovered from bytecode and are inferred from the public naming pattern. Comments are copied verbatim from the deployer's later contract, 0xce853db3359326dB6D03981C9fb42983BbCdd007.

Historian Categories

Token
Heuristic Analysis

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

Detected Type: Token

Bytecode Overview

Opcodes1,912
Unique Opcodes167
Jump Instructions111
Storage Operations45

External Links

Related contracts