Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
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
430
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
110
Tokyo ENS Meetup 2023 June
makoto_inoue
0
75
ENS for your community
makoto_inoue
0
290
ENS for the multi chain world @ EthPorto 2023
makoto_inoue
0
190
ENS on Starknet at StarkWare Session
makoto_inoue
0
110
Ethcc: The State of ENS 2022
makoto_inoue
0
280
EthShanghai ENS integration workshop - May 2022
makoto_inoue
0
160
ENS Integration workshop @ nfthack
makoto_inoue
0
82
ENS as your web3 username
makoto_inoue
0
390
Other Decks in Programming
See All in Programming
PicoRuby on Rails
makicamel
2
110
Cline指示通りに動かない? AI小説エージェントで学ぶ指示書の書き方と自動アップデートの仕組み
kamomeashizawa
1
590
ニーリーにおけるプロダクトエンジニア
nealle
0
660
deno-redisの紹介とJSRパッケージの運用について (toranoana.deno #21)
uki00a
0
160
ReadMoreTextView
fornewid
1
490
PHPでWebSocketサーバーを実装しよう2025
kubotak
0
230
DroidKnights 2025 - 다양한 스크롤 뷰에서의 영상 재생
gaeun5744
3
330
関数型まつりレポート for JuliaTokai #22
antimon2
0
160
ソフトウェア品質を数字で捉える技術。事業成長を支えるシステム品質の マネジメント
takuya542
0
220
Hypervel - A Coroutine Framework for Laravel Artisans
albertcht
1
110
Cursor AI Agentと伴走する アプリケーションの高速リプレイス
daisuketakeda
1
130
PostgreSQLのRow Level SecurityをPHPのORMで扱う Eloquent vs Doctrine #phpcon #track2
77web
2
410
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Rails Girls Zürich Keynote
gr2m
94
14k
Being A Developer After 40
akosma
90
590k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
Writing Fast Ruby
sferik
628
62k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.5k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Docker and Python
trallard
44
3.4k
Designing for humans not robots
tammielis
253
25k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Faster Mobile Websites
deanohume
307
31k
Speed Design
sergeychernyshev
32
1k
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