๋๊ตฐ๊ฐ๊ฐ ์๋ก์ด ์ธ์ด๋ก IPFS ๊ตฌํ์ ๋ง๋ค๊ณ ์ ํ๋ค๋ฉด ๊ฐ์ฅ ์ข์ ์ถ๋ฐ์ ์ ์ง์ํ๋ libp2p ๋ฐ multiformats ๋ชจ๋์ ๋ง๋๋ ๊ฒ์ ๋๋ค. ์ด๋ฌํ ๋ชจ๋์ IPFS ์ด์์ผ๋ก ์ ์ฉํ๋ฉฐ ๊ทํ์ ์ธ์ด๋ก IPFS ๊ตฌํ์ด ์๋ํ๋ ค๋ฉด ์ ๋์ ์ผ๋ก ํ์ํฉ๋๋ค.
@flyingzumwalt๋ฅผ ์บก์ฒํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ๋ค์์ go ๋ฐ JS + ์ฌ์์์ ๊ฐ๊ฐ์ ๊ตฌํ๊ณผ ํจ๊ป ์ด ๋ชจ๋ ์ง์ ๋ชจ๋์ ์ต์ ๋ชฉ๋ก์ ๋๋ค.
@RichardLitt ์ด ์ ๋ณด๋ ์ด๋์
์ด๊ฒ์ ์๋ง๋ ์ฌ๊ธฐ ์ปค๋ฎค๋ํฐ์ ์์ด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋ค๋ฅธ ์ธ์ด๋ก IPFS๋ฅผ ๊ตฌ์ถํ๊ธฐ ์ํ ์ฒซ ๋ฒ์งธ ๋จ๊ณ๋ ์ปค๋ฎค๋ํฐ ์ง์์ ๋ฐ๋ ๊ฒ์ ๋๋ค. "์ข์ํ๋ ์ธ์ด๋ก IPFS๋ฅผ ๊ตฌํํ๋ ๋ฐฉ๋ฒ"์ ๊ฐ์ด๋๋ก ์ถ๊ฐํ ์ ์์ต๋๋ค.
์ฌ๊ธฐ์์ ๋ฌธ์๋ก ๊ฐ์ ธ์ค๊ฒ ์ต๋๋ค. ์ข์ ์๋ฆฌ?
์ธ์ด๋ณ(JS, Go ๋ฐ python ์ ์ธ) ์ต์ ๊ธฐ์ ์ฑ๋/ํ ๋ก ์ด ์ด๋ฏธ ์ด๋๊ฐ์ ์์ต๋๊น? ์ด๋ฏธ ์ฌ๋ฌ ์ธ์ด๋ก ๊ตฌํ๋ ์ฌ๋ฌ ๋ชจ๋์ด ์๋ค๋ ๊ฒ์ ์๊ณ ์๊ธฐ ๋๋ฌธ์ ๊ถ๊ธํ์ง๋ง ๊ฐ๊ฐ์ ๋ํ ์ ํํ๊ฑฐ๋ ๊ฐ๊ฒฐํ ์์ฝ์ ์ฐพ์ ์ ์์ต๋๋ค. ํนํ ์์ง ์ผ๋ฐ ipfs ๋๋ ํ ๋ฆฌ๊ฐ ์๋ ์ธ์ด(์: java-ipfs ๋๋ rust-ipfs ๋ฑ)์ ๊ฒฝ์ฐ.
๊ฒ๋ค๊ฐ - ๊ทธ๋ฅ ํธ๊ธฐ์ฌ์์ - ๋ค์ ์ธ์ด๊ฐ ๋ฌด์์ด์ด์ผ ํ๋์ง์ ๊ด๋ จํ์ฌ ํ๋กํ ์ฝ ์ฐ๊ตฌ์์ ์ฐ์ ์์๊ฐ ์์ต๋๊น? (๋๋ ์ด๊ฒ์ ์ปค๋ฎค๋ํฐ์ ๋งก๊ฒจ์ ธ ์์ต๋๊น?)
๊ด์ฌ์ด ์๋ค๋ฉด C++๋ก ๋ฌด์ธ๊ฐ๋ฅผ ์์ฑํ๊ฑฐ๋ ์์ฑํ๋ ๋ฐ ๋์์ด ๋ ๊ฒ์ ๋๋ค.
@theobat ์ข์ ์ง๋ฌธ์ ๋๋ค! @RichardLitt ์ด ์ ๋ณด๋ก ์ฐธ์กฐ ํ์ด์ง๋ฅผ ์ค์ ํ๋ ค๊ณ ํ๋ ๊ฒ ๊ฐ์ง๋ง ๋ ๋ค ์์ด๋ฒ๋ ธ์ต๋๋ค. ๋๋ ์ฃผ์ด์ง ์ธ์ด๋ก IPFS๋ฅผ ๊ตฌํํ๋ ค๋ ๊ธฐ์กด ๋ ธ๋ ฅ์ ์ฐพ๋ ๊ฒ์ ๋ํ @theobat ์ ์ง๋ฌธ์ ์ข์ํฉ๋๋ค. ์ฐ๋ฆฌ๋ ๊ทธ๊ฒ์ ์ด๋์์๋ ์ถ์ ํ๊ณ ์์ต๋๊น? @whyrusleeping @diasdavid ์์ง? ์ฐ๋ฆฌ๊ฐ ์ด๊ฒ์ ์ถ์ ํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ด๋์ด๊ฐ ์๋ ์ฌ๋์ด ์์ต๋๊น?
2016๋
10์ 26์ผ ์์์ผ(๋ค์ ์ฃผ)์ c-ipfs ๊ตฌํ์ ์์ํฉ๋๋ค.
https://github.com/kenCode-de/c-ipfs
์ฒ์์๋ 5๋ช ์ด ์์ ํ ๊ฒ์ ๋๋ค. ๊ณตํํ ์์ ์ด๋ผ๋ฉด ์ํ ๊ฒฝ์ฐ ์ค์นด์ดํ ๊ทธ๋ฃน์ ๊ฐ์ ํ ์๋ ์์ต๋๋ค. ์ค์นด์ดํ ์ด๋ฆ์ ์ด๋ฉ์ผ๋ก ๋ณด๋ด์ฃผ์๋ฉด ์ถ๊ฐํ๊ฒ ์ต๋๋ค. ์ ๋ฐ ๊ทธ๋ฆฌ๊ณ ๊ฐ์ฌํฉ๋๋ค! :)
@kenCode-de ๋น์ ์ ์ด๋ ์๊ฐ๋์ ์๊ณ ์์์ผ์ ํ์๊ฐ ๋ช ์์ ์์๋ฉ๋๊น? Github ํ์ด์ง์ ๋ ์ผ์ ์๋ค๊ณ ๋์ ์๋๋ฐ ๋ง์ต๋๊น?
๋ค, ์ ๋ ๋ฎํจ์ ์ด๊ณ ์์ง๋ง ์ค์นด์ดํ ํ์๋ ์์์ผ 0930 GMT์ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ c-ipfs ๊ตฌํ์ ์์ํ๊ณ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ง๊ธ๊น์ง ์ปค๋ฐํ ์ฌ๋์ด 5๋ช ์ด์์ด๊ณ ๋ช ๋ช ๋ ๋ชจ์ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
@kenCode-de ๊ทธ ์๊ฐ์ ์ผํด์. Skype ๋ํ๋ฅผ ๋ น์ํ ์ ์์ต๋๊น? ๊ณต์ ๊ฐ ๋ฌธ์ ๊ฐ ๋์ง ์๋๋ก ์ค๋์ค๋ง ๋ น์ํ๋ ๊ฒ์ผ๋ก ์ถฉ๋ถํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
@theobat ์ข์ ์ง๋ฌธ์ ๋๋ค! @RichardLitt ์ด ์ ๋ณด๋ก ์ฐธ์กฐ ํ์ด์ง๋ฅผ ์ค์ ํ๋ ค๊ณ ํ๋ ๊ฒ ๊ฐ์ง๋ง ๋ ๋ค ์์ด๋ฒ๋ ธ์ต๋๋ค. ๋๋ ์ฃผ์ด์ง ์ธ์ด๋ก IPFS๋ฅผ ๊ตฌํํ๋ ค๋ ๊ธฐ์กด ๋ ธ๋ ฅ์ ์ฐพ๋ ๊ฒ์ ๋ํ @theobat ์ ์ง๋ฌธ์ ์ข์ํฉ๋๋ค. ์ฐ๋ฆฌ๋ ๊ทธ๊ฒ์ ์ด๋์์๋ ์ถ์ ํ๊ณ ์์ต๋๊น? @whyrusleeping @diasdavid ์์ง? ์ฐ๋ฆฌ๊ฐ ์ด๊ฒ์ ์ถ์ ํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ด๋์ด๊ฐ ์๋ ์ฌ๋์ด ์์ต๋๊น?
๊ทธ๋ผ ํด๋ด ์๋ค. :)
์ฌ๊ธฐ README ์ ์ฌ๋๋ค์ด ๋ฌธ์ ๋ฅผ ํ์ธํ ์ ์๋ ๋ฌธ์ (https://github.com/ipfs/ipfs/issues/164 ์ฐธ์กฐ)์์ ipfs/ipfs์ ๋ํ ๋ค์ํ ๋ ธ๋ ฅ๋ง ์ถ์ ํ๊ณ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ ๊ฐ์ฌํฉ๋๋ค @RichardLitt , ์ด ์ถ๊ฐ ์ ๋ณด ๋ ์ ๊ฐ ์ฐพ๋ ๊ฒ์ ๋๋ค. ๊ฝค ์ข์ _์ธ์ด๋ณ ๊ฐ์_์ ๋๋ค. ์ถฉ๋ถํ ๊ฒ์ํ์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค... ํ์ง๋ง ์ต๊ทผ ๋ฐ์์ ๋ฐ๋ฅด๋ฉด ๋ฌธ์์ ์ง์นจ์ด ์ฝ๊ฐ ๋ ์ค์ ์ง์คํ๋ ์ ์์์ ์ ์ ์์ต๋๋ค. . @ianopolous Java์์ libp2p๋ฅผ ๊ตฌํํ ๊ณํ์ด ์์ต๋๊น? ์๋๋ฉด ์์ง ์์ ๋์ด ์์ต๋๊น?
@theobat ์ ๋ ์ค์ ๋ก ipfs๋ฅผ ๊ตฌํํ๊ณ ๋ฐ๋ผ์ Java์์ libp2p๋ฅผ ๊ตฌํํ ๊ณํ์ ๋๋ค. Peergos ์ฌ์ฉ์๊ฐ ์ค์นํด์ผ ํ๋ ๊ฒ์ด ํ ๋ฒ ์ค์ด๋ค๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋๋ ์๋ง ์์ผ๋ก ๋ช ๋ฌ ๋์ ์์ํ ์ ์์ ๊ฒ์ ๋๋ค.
C์์ ๊ตฌํ์ด ํ์ฌ ์งํ ์ค์ ๋๋ค: https://github.com/ipfs/ipfs/issues/164
IPFS๋ C/C++ ๊ตฌํ์ผ๋ก ์์ํด์ผ ํ๊ณ ๋ค๋ฅธ ๋ชจ๋ ์ธ์ด์ ๋ํด ๋ํผ๋ฅผ ์ฌ์ฉํด์ผ ํ์ต๋๋ค( Nim ์ ํนํ โโ๊ด์ฌ์ด ์์ต๋๋ค). Go์ JS๋ก ์์ํ๋ ๊ฒ์ IMHO์ ์ค์์๊ณ , C/C++ ๊ตฌํ์ด ์ธ๊ณ๋ฐ์ง ์๋ ํ IPFS๊ฐ ๊ทธ๋ฆฌ ๋ฉ์ง ์์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
์ด ์ค๋ ๋๋ ์๋ก์ด ์ธ์ด๋ก IPFS๋ฅผ ๊ตฌํํ๊ฑฐ๋ ๊ตฌํํ๋ ๋ฐ ๊ด์ฌ์ด ์๋ ์ฌ๋๋ค์ ๊ดํ ๊ฒ์ ๋๋ค. C์์ IPFS ์์ ์ ๊ด์ฌ์ด ์๋ค๋ฉด @kenCode-de๊ฐ ๊ทธ ๋ ธ๋ ฅ์ ๋ ๋ง์ ๋์์ ๋ฐ๊ณ ์ถ์ต๋๋ค. ๊ธฐ์กด ๊ตฌํ์ ๋ํด ๋ถํํ๋ ๊ฒ์ ์๋ฌด ์์ฉ์ด ์์ต๋๋ค.
๋ค๋ฅธ ์ธ์ด๋ก ๊ธฐ์กด ๊ตฌํ์ ๋ฐ์ธ๋ฉํ ์ ์๋ค๋ ๊ฒ์ด ์ฐ๋ ค๋๋ ๊ฒฝ์ฐ go: http://blog.ralch.com/tutorial/golang-sharing-libraries/๋ฅผ ์ฌ์ฉ ํ์ฌ ๊ณต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ตฌ์ถ์ ์ดํด๋ณด์ธ์.
C/C++ ๊ตฌํ์ ๋ํ ์ด ์ค๋ ๋์ ๊ด์ฌ์ด ์์ ์๋ ์์ต๋๋ค. https://github.com/ipfs/ipfs/issues/164
C-IPFS๋ ์ด์ ์๋ํ๊ณ , v1.0์ ์ํํ์ ์จ๋ผ์ธ์ด๊ณ , API์ IPNS๋ ์๋ ์ค์
๋๋ค. ์ง๊ธ ๋ชจ๋ ํ
์คํธ์ ์์ , ํ
์คํธ์ ์์ ์ ์ํํ๊ณ ์์ต๋๋ค... Go ๋ฒ์ ๊ณผ ํจ๊ป ๋ฉ์ง๊ฒ ํ๋ ์ดํ๊ธฐ.. ;)
https://github.com/Agorise?tab=repositories
ํํ, ์ฌ๋, ์๊ณ ๋ฆฌ์ฆ,
์ผ์ฝ๋
@Agorise ๊ต์ฅํด ! ์ง๊ธ ์ฌ์ฉํด๋ณผ๊ป์ :)
@Agorise ์ฌ์ฉ์๋ ์ด๋์ ๋ฌธ์ ๋ฅผ ๋ณด๊ณ ํด์ผ ํฉ๋๊น? ์ฐ๊ฒฐํ ์ ์ฅ์์ ๋ฌธ์ ์ถ์ ๊ธฐ๊ฐ ์์ต๋๋ค.
์์ผ๋ก ๋ฉฐ์น ์์ .deb ๋ฐ raspi ๋น๋๋ ์์ด์ผ ํฉ๋๋ค.
์ผ์ฝ๋
์, ์ผ๋ ๊ฒ์ ์์์ต๋๋ค. ์ฌ๊ธฐ์:
https://github.com/Agorise/c-ipfs/issues
์ผ์ฝ๋
์๋ฐ๋ ์ด๋ป์ต๋๊น?
Java, Kotlin ๋๋ Scala์ libp2p๊ฐ ๊ตฌํ๋์ด ์์ต๋๊น?
Java์ libp2p๋ฅผ ๊ตฌํํ๋ ๋ฐ ๊ด์ฌ์ด ์์ต๋๋ค. ์ด๋ป๊ฒ ์งํํด์ผ ํ๋์ง ์ ์ ์ฌํญ์ด ์์ต๋๊น? ์ด ์์ ์ ๊ด์ฌ์ด ์๋ ์ฌ๋์ด ์์ต๋๊น? ์ด ํ๋ก์ ํธ https://github.com/fellahst/java-libp2p์ ๋ํ github ์ ์ฅ์๋ฅผ ๋ง๋ค์์ต๋๋ค
๋๋ ๊ฒฐ๊ตญ java-libp2p์ java-ipfs๋ฅผ ๊ตฌํํ๊ธฐ๋ฅผ ํฌ๋งํ๋ค. ๊ทธ๋ฌ๋ ๊ทธ๊ฒ์ ๊ณง ์๊ฐ์ด ์๋๋ฏ๋ก ๋๋ฅผ ๊ธฐ๋ค๋ฆฌ์ง ๋ง์ญ์์ค. (์ ๋ Java multi's, cid ๋ฐ http-api์ ์ ์์ ๋๋ค)
๋ํ Java-ipfs์ ํ์ํ ํธ๋ฆฌํ ipld-cbor ๊ตฌํ์ด ์์ต๋๋ค(peergos ๋ด๋ถ์ ์๊ณ ์์ฒด์ ์ผ๋ก ๋ฆด๋ฆฌ์ค๋์ง๋ ์์).
Parapet์ ์ฌ์ฉํ์ฌ Scala์์ libp2p๋ฅผ ๊ตฌํํ๊ณ ์ถ์ต๋๋ค.
์ ์ฅ์๋ฅผ ์ ๋ฆฌํ๊ธฐ ์ํ ๋ ํฐ ๋ ธ๋ ฅ์ ์ผํ์ผ๋ก ์ด ๋ฌธ์ ๋ฅผ ์ข ๋ฃํฉ๋๋ค. ๊ทธ๋ฌ๋ IPFS ํฌ๋ผ ์ ๋ํ์ ์ฐธ์ฌํ์ฌ ์ํ๋ ์ธ์ด๋ก IPFS๋ฅผ ๊ตฌํํ๋ ๋ฐ ๋ํด ๋ ผ์ํ๊ฑฐ๋ ๋ธ๋ ์ธ์คํ ๋ฐํ๊ฑฐ๋ ๋์์ ๋ฐ๋ ๊ฒ์ ํ์ํฉ๋๋ค. ๊ฑฐ๊ธฐ์ ๋ณด์!
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@flyingzumwalt๋ฅผ ์บก์ฒํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ๋ค์์ go ๋ฐ JS + ์ฌ์์์ ๊ฐ๊ฐ์ ๊ตฌํ๊ณผ ํจ๊ป ์ด ๋ชจ๋ ์ง์ ๋ชจ๋์ ์ต์ ๋ชฉ๋ก์ ๋๋ค.
์ง์ ๋ชจ๋