Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Managing a legacy Dapp
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Makoto Inoue
March 09, 2018
Programming
450
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Managing a legacy Dapp
Makoto Inoue
March 09, 2018
More Decks by Makoto Inoue
See All by Makoto Inoue
ENS beyond Web3
makoto_inoue
0
180
Tokyo ENS Meetup 2023 June
makoto_inoue
0
150
ENS for your community
makoto_inoue
0
370
ENS for the multi chain world @ EthPorto 2023
makoto_inoue
0
240
ENS on Starknet at StarkWare Session
makoto_inoue
0
180
Ethcc: The State of ENS 2022
makoto_inoue
0
360
EthShanghai ENS integration workshop - May 2022
makoto_inoue
0
200
ENS Integration workshop @ nfthack
makoto_inoue
0
130
ENS as your web3 username
makoto_inoue
0
440
Other Decks in Programming
See All in Programming
AIエージェント時代のコードレビューを設計する
nogu66
6
2.7k
App Intentsのビルドプロセスを支える技術
kntkymt
0
380
MVNOの申込からeSIM開通までをiOSアプリでつなぐ- 本人確認・MNP・通信事業者基盤をまたぐ実装
satotakeshi
0
420
AI Agent時代のリアーキテクチャ戦略と実践
hokaccha
9
4.7k
XHTMLが残したもの
yosuke_furukawa
PRO
2
810
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
5
7.3k
速く作れる。その次は、速く確かめられる開発へ 〜AIネイティブ開発を支える、Shift Down〜 / Can build fast. Next, moving to development where we can verify fast.
rkaga
5
3.2k
AI × TiDD / 2026.09.05 Redmine 大阪
tokudiro
1
170
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
150
WebRTC映像をAirPlayに対応させる挑戦.pdf
monolithic_adam
0
270
LoopHub - ローカルで動く GitHub で、AI と共同開発
jugyo
1
560
kubernetes コンポーネント開発入門 / 新卒N年目の勉強会&交流会!〜〇〇への誘い〜 #n_study
mazrean
0
240
Featured
See All Featured
Leo the Paperboy
mayatellez
10
2.3k
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
How to Think Like a Performance Engineer
csswizardry
28
2.8k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
300
GraphQLとの向き合い方2022年版
quramy
50
15k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
340
Crafting Experiences
bethany
1
340
Product Roadmaps are Hard
iamctodd
55
13k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
890
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