Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Managing a legacy Dapp
Search
Makoto Inoue
March 09, 2018
Programming
0
440
Managing a legacy Dapp
Makoto Inoue
March 09, 2018
Tweet
Share
More Decks by Makoto Inoue
See All by Makoto Inoue
ENS beyond Web3
makoto_inoue
0
130
Tokyo ENS Meetup 2023 June
makoto_inoue
0
100
ENS for your community
makoto_inoue
0
320
ENS for the multi chain world @ EthPorto 2023
makoto_inoue
0
210
ENS on Starknet at StarkWare Session
makoto_inoue
0
130
Ethcc: The State of ENS 2022
makoto_inoue
0
300
EthShanghai ENS integration workshop - May 2022
makoto_inoue
0
180
ENS Integration workshop @ nfthack
makoto_inoue
0
98
ENS as your web3 username
makoto_inoue
0
410
Other Decks in Programming
See All in Programming
Rubyで鍛える仕組み化プロヂュース力
muryoimpl
0
150
SwiftUIで本格音ゲー実装してみた
hypebeans
0
470
Flutter On-device AI로 완성하는 오프라인 앱, 박제창 @DevFest INCHEON 2025
itsmedreamwalker
1
140
クラウドに依存しないS3を使った開発術
simesaba80
0
130
Socio-Technical Evolution: Growing an Architecture and Its Organization for Fast Flow
cer
PRO
0
390
Deno Tunnel を使ってみた話
kamekyame
0
210
perlをWebAssembly上で動かすと何が嬉しいの??? / Where does Perl-on-Wasm actually make sense?
mackee
0
110
生成AIを利用するだけでなく、投資できる組織へ
pospome
2
390
AIコーディングエージェント(Gemini)
kondai24
0
260
AIエージェントの設計で注意するべきポイント6選
har1101
5
1.8k
JETLS.jl ─ A New Language Server for Julia
abap34
2
430
Claude Codeの「Compacting Conversation」を体感50%減! CLAUDE.md + 8 Skills で挑むコンテキスト管理術
kmurahama
1
600
Featured
See All Featured
Docker and Python
trallard
47
3.7k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
How to Talk to Developers About Accessibility
jct
1
83
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
83
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
1k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
72
Documentation Writing (for coders)
carmenintech
77
5.2k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
79
Ruling the World: When Life Gets Gamed
codingconduct
0
93
Transcript
Managing a legacy Dapp @makoto_inoue BlockParty
Topics - The legacy Dapp in action
Topics - The legacy Dapp in action - Evolution of
the code
Topics - The legacy Dapp in action - Evolution of
the code - Running on mainnet
The legacy Dapp in Action
- High expectation What is BlockParty? - Solving 50% problem
Reality
- High expectation - Harsh reality What is BlockParty? -
Solving 50% problem https://www.nytimes.com/interactive/2017/01/20/us/politics/trump-inauguration-crowd.html
What is BlockParty? - How?
“I went to a party and got extra Ether as
payout!!”
Flow
register(“@makoto_inoue”) Admin User
attend([“0x123…”, “0x456…”, “0x789…”) Admin
payback() Admin
withdraw() User
Meetups & Parties
Meetups & Parties
Meetups & Parties
Attendance rate
Payouts
Edcon post conference lunch (19/2/2017)
http://noblockno.party (11/3/2018)
Evolution of the code
The initial commit
The initial commit
The initial commit
The code
The code No version number No “payable” keyword No error
when missing public
The code
throw vs return - No error message - Swallow all
gas (used to be)
throw vs return - Can emit Event - Potentially unsecure?
The “Bloody October”
The “Bloody October”
Byzantine HF
throw vs return => require/assert/revert
Pull over Push
The DAO (30th April - 17th June 2016 )
0xbb9bc244d798123f...
The consequence
The 7th day
Did participants know about this?
What should I do with the money?
Did I donate?
Then what happened?
How did that happen?
Am I the only fool?
Share the best practices!!
Share the best practices!!
Running on mainnet
Gas price, gas price, gas price
The power of “default”
Gas price, gas price, gas price
The power of “default”
The power of “default”
The power of measuring
The power of measuring
But be careful...
Summary
Lessons learnt - Solidity evolves - “The best practices” evolve
- You only learn certain stuff on mainnet
How do you learn?
Move fast And break things http://uslaunchreport.com
Move fast And break things http://uslaunchreport.com http://giftrunk.com/gif/trampoline-pool-jump-fail
How do you learn (by failing) - Stake small
How do you learn (by failing) - Stake small -
Know your customer (doesn’t have to be full ID check)
How do you learn (by failing) - Stake small -
Know your customer (doesn’t have to be full ID check) - Deploy often
Thanks! @makoto_inoue http://ethcc.noblockno.party