
์๋
ํ์ธ์ IOST Korea์
๋๋ค.
์ค๋์ ์ฃผ๊ฐ ํ
ํฌ ์
๋ฐ์ดํธ๋ฅผ ์ ๋ฌํด ๋๋ฆฝ๋๋ค.
๊ฒฉ์ฃผ๊ฐ IOST ์
๋ฐ์ดํธ์ ๋๋ถ์ด์ ๊ธฐ์ ์ ์ธ ์
๋ฐ์ดํธ์ ๊ดํด์๋ ์ฃผ๊ฐ์ผ๋ก ์งํ์ฌํญ์ ์ ๋ฌํด๋๋ฆด ์์ ์
๋๋ค.
IOST์ ๊ธฐ์ ๊ฐ๋ฐ ์ํฉ์ ๋ํด์ ๊ถ๊ธํ์ ๋ถ๋ค์ iost.invite.io ๋ฅผ ํตํด์ ๊ฐ๋ฐ์ ์ฌ๋์ ๊ฐ์
ํด ์ง๋ฌธํด ์ฃผ์๊ธฐ๋ฅผ ์ถ์ฒ๋๋ฆฝ๋๋ค.
๊ทธ๋ผ ํ ์ฃผ๊ฐ ์ด๋ ํ ๊ฐ๋ฐ์ง์ฒ์ด ์์๋์ง ์๋ ๋ด์ฉ์ ํตํด์ ํ์ธํด๋ณด์ธ์.
Consensus
Design
๋ฉ์ธ๋ท ๋งตํ ๊ณํ ์ค๊ณ ์์ฑ - ์๋ฃ
Development
- ๊ธฐ์ด ๊ณ์ ์ถ๊ฐ
- ์ ๋ค์์ค ๋ธ๋ก์ ๋ฆฌ์์ค ์ด๊ธฐํ ์์
- GAS ๊ณ์ฝ์ ์ด์ ๋ค๋ฅธ ์ฌ๋์ผ๋ก๋ถํฐ ์๊ธ ํ์ฉ. ๊ฐ์ค ๊ณ์ฝ์ RAM ์์๋ฃ ๋น์ฉ์ด ๋ฌ.
- RPC ์๋ฃ. accountInfo ๋ฐ contractStorage์ ๋ํ ์ธํฐํ์ด์ค ๊ฐ์ .
- tx๊ฐ ๋กค๋ฐฑ๋์ง ๋ชปํ๊ฒํ๋ ๋ฒ๊ทธ๋ฅผ ์์ . JavaScript ์์ถ ํ
์คํธ ์คํฌ๋ฆฝํธ ์์ .
- RPC์ tx ์๋น ๊ฒ์ฌ๋ฅผ ์ถ๊ฐํ์ฌ ์ฌ์ฉ์๊ฐ ๋ ๋์ ์ค๋ฅ ์ฝ๋ฐฑ์ ๋ฐ๊ฒ ํจ.
- limitAmount๋ฅผ iwallet์ ์ถ๊ฐ
(1~7 ์๋ฃ)
iwallet์ ์ฌ๊ตฌ์ถํ๊ณ SDK๋ฅผ ๋
๋ฆฝ์ ์ผ๋ก ๋ง๋ค๊ธฐ ์์ - 30% ์๋ฃ
iost.bonus ๋ฐ iost.issue ๊ณ์ฝ ํตํฉ; Contribution Point์ ๋ํ ๊ณ์ฐ ๊ณํ ๋ฐ ํ
์คํธ ์คํฌ๋ฆฝํธ ์์ฑ
ํฌํ ๊ณ์ฝ์ ๋ช ๊ฐ์ง ์กฐํ ์ธํฐํ์ด์ค ์ถ๊ฐ
ํ์ ๊ณ์ฝ์ ์์ ํ๊ณ ๋งค๊ฐ ๋ณ์๋ฅผ ๋ค๋ฅธ ๊ณ์ฝ์ ๋งค๊ฐ ๋ณ์์ ์ผ์น ์ํด.
float64.js ๋ฐ int64.js์ ์ผ๋ถ ๊ธฐ๋ฅ ์
๋ฐ์ดํธ.
ํฅํ ๊ฐ๋ฐ์ ์ํ ํฌํผ ๊ธฐ๋ฅ ์ค ์ผ๋ถ ์ถ๊ฐ
(9~13 ์๋ฃ)
14.์ฐ์์ ์ธ ๋ธ๋ก ์์ฑ ์ฝ๋๋ฅผ "develop(๊ฐ๋ฐ)"์ ํฉ์นจ - ์๋ฃ
- RPC ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ค๊ณํ๊ณ ์คํํจ - 80% ์๋ฃ
16.Merkle Tree (๋จธํด ํธ๋ฆฌ, ํด์ ํธ๋ฆฌ)๋ฃจํธ ํด์๋ ์ด์ BlockHead์ Tx ๋ฐ TxReceipt ๋ชจ๋์ ์ฌ์ฉ๋จ. DB ์ ์ฅ ๊ณต๊ฐ์ ์ ์ฝํ๊ธฐ ์ํ์ฌ BlockHead์์ GasUsage๋ฅผ ์ ๊ฑฐ - ์๋ฃ
Debugging
- ๊ธฐ๋ณธ ๊ณ์ฝ ์ ํจ์ฑ ๊ฒ์ฌ ์คํจ ๋ฌธ์ ๋ฅผ ํด๊ฒฐ
- ์ค๋ฅ ๋ฐ์์ ํธ๋์ญ์
์ด ๋ฐ๋ณต์ ์ผ๋ก ์คํ๋๋๋ก ํ์ฉํ๋ ๋ฌธ์ ๋ฅผ ์์
- ๊ณ์ ์ ๋ง๋๋ ์ข
๋จ ๊ฐ ํ๋ก์ธ์ค๋ฅผ ์ํ iserver + RPC + iwallet ํตํฉ์ ์๋ฃ
- ๊ธฐ๋ณธ ํธ๋์ญ์
ํด์๊ฐ ์
๋ฐ์ดํธ๋์ง ๋ชปํ๊ฒํ๋ ๋ฌธ์ ๋ฅผ ์์
- ๋ธ๋ก ๊ฒ์ฆ์ด ๋ฌด์์๋ก ์คํจ ํ ์ ์๋ ๋ฌธ์ ๋ฅผ ์์
- iserver๊ฐ ์ด๊ธฐํ ๋ ๋ ๊ณตํฉ ๋ฌธ์ ๋ฅผ ์์ ; ์ด๊ฒ์ ์์ ๊ฒฝ์ ๋๋ฌธ
- JavaScript ๊ณ์ฝ์ด ๋น ๋ฌธ์์ด์ ๋ฐํํ ๋์ ์ถฉ๋์ ์์
- ์ ๊ท ํด์ ๊ณ์ฐ ๊ด๋ จ ๋ฒ๊ทธ ์์
- BlockBaseTx ๊ฒ์ฆ ๋ฌธ์ ํ๋กํ์ผ๋ง
- ๊ฑฐ๋ ๊ฒ์์ ๋ถ์ถฉ๋ถํ ๊ฐ์ค๋ก ์ธํ ๋ฌธ์ ์์
- db๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์ฌ๋ถํ
๋์ง ์๋ ๋ฌธ์ ์์
- ๊ธฐ๋ณธ tx ํ์ธ ์คํจ ๋ฌธ์ ์์
- ์๋ชป๋ ์ฆ์ธ ์ค๋ฅ๋ณด๊ณ ๋ฅผ ์์ ; ์ฌ์ํ ๋ฒ๊ทธ๋ฅผ ์์ ํ๊ณ ์๋ก์ด idevops๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ๋๋ฅผ ํ
์คํธ
(1~13 ์๋ฃ)
ํ๋ซํผ ๋ฐ ์ด์ ํ
์คํธ
์ ์ก ํ
์คํธ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ์ฝ๋ฉ
a. ์ข
๋จ๊ฐ ํ
์คํธ : itest๋ฅผ ํตํ iserver ๋ก์ปฌ ํ
์คํธ ์ํ
b. CI : (a) ์๋ก์ด ์ ๋ค์์ค์ ์ ์ํ๊ณ k8s์ iserver์ itest๋ฅผ ๋ฐฐ์น; (b) ์๋ํ ๋ ์คํฌ๋ฆฝํธ ๊ฐ๋ฐ์ ์ข
๋จ ๊ฐ ๋ฐฉ์์ผ๋ก ํ
์คํธ; (c) ์ข
๋จ ๊ฐ ๋ฐฉ์์ผ๋ก CI ํ๊ฒฝ ํ๋ ํ
์คํธ
c. Ops : (a) ์ด์ AWS ํด๋ฌ์คํฐ์ ๋ฆฌ์์ค ํด์ ; (b) ๋ผ์ด๋ธ ํ๊ฒฝ ๋ก๊น
์์ง ์ ๊ตํ
smtp ์ปจํผ๊ฒจ๋ ์ด์
eks์ ek ๊ตฌ์ถ, ์์ testnet์ f๋ฅผ ๊ตฌ์ถ; ingress ์ปจํผ๊ฒจ๋ ์ด์
ํ๋ถํ ์ปจํผ๊ฒจ๋ ์ด์
์ต์ ํ ๋ฐ ํด๋ฌ์คํฐ ์ด๋ฆ๋ณ ์ค๋ฉ ์ ์ฉ
๋ก๊ทธ ํ์ผ ํฌ๊ธฐ์ ๋ฐ๋ผ eks ๋ฐ ํ์ ์ ๋ค์ ์คํ์ด์ค๋ณ๋ก ์ค๋ฉ ์ ์ฉ
์ฌ์ฉ์๊ฐ ๊ณ ์ ์ปจํผ๊ฒจ๋ ์ด์
ํ์ผ ์
๋ก๋๋ฅผ ์ง์ํ๋๋ก testnet ๋ฐ idevops๋ฅผ ์
๋ฐ์ดํธ
๋ก๊ทธ๋ฅผ ํฐ ํ์ผ ํฌ๊ธฐ๋ก ๋จ๊ฒจ ๋๋ ๋ฌธ์ ์์
(1~7 ์๋ฃ)
VM
๋์์ธ
- ๋ฉ์ธ๋ท ๋งคํ ๊ณํ ์ค๊ณ ์์ฑ - ์๋ฃ
R&D
- JavaScript๋ฅผ ์ด์ฉํ ํด์ ๊ณ์ฐ ์์ฑ
- tx ์ ์ก ์์ฑ
- ๊ณ์ข ์ค๋งํธ ๊ณ์ฝ์์ ๊ถํ ํ์ธ(ํ๊ฐ) ์์ฑ
- ๋ค์ค ๋ ์ด์ด ์๋ช
์ ๋ํ ์ ํจ์ฑ ๊ฒ์ฌ ์ถ๊ฐ
- VM์ ํ์ฌ ๋ธ๋ก ๋ฐ tx ์ ๋ณด์ ์๋์ผ๋ก ๋งคํํ๊ธฐ ์ํด์ "helper"์ ํ ์์๋ฅผ ์ถ๊ฐ
- V8VM๊ฐ ๋ฉ๋ชจ๋ฆฌ ๋์ ๋ฌธ์ ํด๊ฒฐ
- V8VM ํ๋กํ ํ์
์ ๊ฐ์ค ๊ณ์ฐ ์ถ๊ฐ
- ๊ฐ์ค ํ
์คํธ ๋ฐ ๋ค๋ฅธ ๊ฐ์ค ๋ชจ๋๊ณผ์ ํธํ์ฑ ์ถ๊ฐ
- Finished WAL ํ์ด๋ ๋ฒจ ์ฝ๋ฉ ์์ฑ
- WAL ์ฝ๋ ํ
์คํธ ๋ฐ ํด๋น ์ฝ๋ ๋๋ฒ๊น
์๋ฃ
- V8VM์ ๋ฉ๋ชจ๋ฆฌ ์ ํ ์ถ๊ฐ
- ์ฌ์ฉ์๋ณ amountLimit์ Tx์ ์ถ๊ฐํ๊ณ amountLimit ํญ๋ชฉ์ ๋ํ ํฉ๋ฒ์ ์ธ ๊ฒ์ฌ๋ ์ถ๊ฐ
a. "transfer(์ ์ก)"์ ๋ฉ๋ชจ ์์ฑ ์ถ๊ฐ
b. "+"๋ฐ "==="์ ๊ฐ์ ๋ฌธ์์ด ์ ํ์ ํน์ ์์
์ ๊ฐ์ค ๋น์ฉ์ด ์ถ๊ฐ
c. JavaScript ํจ์ ๋ฐํ ๊ฐ์ ๋ํ ์ต์ ํ ์์
๋ฐ ํ
์คํธ ์ํ
(1~12 ์๋ฃ)
Debugging(์ค๋ฅ์์ )
- V8VM ์ธ๊ทธ๋จผํธ ์ค๋ฅ๋ฅผ โโ๋๋ฒ๊ทธํ์ง๋ง ๋ณต์ ๋ ์คํจ. ๊ธฐ๋ฅ ๋ฐ ์คํธ๋ ์ค ํ
์คํธ ํฉ๊ฒฉ.
- ๋๊ธฐํ๋ฅผ ์ํ ํ
์คํธ ์ฝ๋๋ฅผ ์
๋ฐ์ดํธํ๊ณ ํ
์คํธ๋ 100%๋ก ํต๊ณผ. ๊ทธ๋ฌ๋ฉด์ ํ, ๋๊ฐ์ ๋ฒ๊ทธ ์์ . ํ ํฐ 721 ABI๋ฅผ ์์ ; ์ ์ฅ์๋ฅผ ์ต์ ํํ๊ณ ํ ํฐ ์ ์ฅ์๋ฅผ ์ ๊ฑฐํ์ฌ ๊ฐ์ .
- VM์ ์ค๋ฅ ์ฒ๋ฆฌ๋ฅผ mvccdb๋ก ์์
- ๊ณ์ฝ์๊ฐ ์ฑ๊ณต์ ์ผ๋ก ํจํค์งํ๋์์ ๋ ์ค๋ฅ๊ฐ ๋ค์ ๋ฐ์ํ๋ ๋ฌธ์ ์์
(1~4 ์๋ฃ)
Github : http://github.com/iost-official
์ฌ๋ : http://invite.iost.io
์นด์นด์คํก : http://bit.ly/์ด์ค์คํธ์นดํก_1