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
97
ENS as your web3 username
makoto_inoue
0
410
Other Decks in Programming
See All in Programming
Denoのセキュリティに関する仕組みの紹介 (toranoana.deno #23)
uki00a
0
100
開発に寄りそう自動テストの実現
goyoki
2
1.3k
Pythonではじめるオープンデータ分析〜書籍の紹介と書籍で紹介しきれなかった事例の紹介〜
welliving
2
370
Developing static sites with Ruby
okuramasafumi
0
310
ZOZOにおけるAI活用の現在 ~モバイルアプリ開発でのAI活用状況と事例~
zozotech
PRO
9
5.8k
Deno Tunnel を使ってみた話
kamekyame
0
170
Kotlin Multiplatform Meetup - Compose Multiplatform 외부 의존성 아키텍처 설계부터 운영까지
wisemuji
0
100
非同期処理の迷宮を抜ける: 初学者がつまづく構造的な原因
pd1xx
1
740
大規模Cloud Native環境におけるFalcoの運用
owlinux1000
0
160
チームをチームにするEM
hitode909
0
350
20251212 AI 時代的 Legacy Code 營救術 2025 WebConf
mouson
0
200
ELYZA_Findy AI Engineering Summit登壇資料_AIコーディング時代に「ちゃんと」やること_toB LLMプロダクト開発舞台裏_20251216
elyza
2
430
Featured
See All Featured
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
260
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
0
940
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
We Have a Design System, Now What?
morganepeng
54
7.9k
Odyssey Design
rkendrick25
PRO
0
420
Building an army of robots
kneath
306
46k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
290
Six Lessons from altMBA
skipperchong
29
4.1k
Practical Orchestrator
shlominoach
190
11k
Skip the Path - Find Your Career Trail
mkilby
0
23
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
60
37k
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