diff --git a/docs/lang/korean/build/build-with-polkadot.md b/docs/lang/korean/build/build-with-polkadot.md new file mode 100644 index 00000000..835cf6d4 --- /dev/null +++ b/docs/lang/korean/build/build-with-polkadot.md @@ -0,0 +1,172 @@ +# Polkadot 빌더들의 시작 가이드 (Polkadot Builders Starter's Guide) + +!!! 알림 + 이 문서는 다음 블로그 포스트의 최신 버전 입니다.: [Polkadot에 대해서 준비할때 당신이 알아야 할 모든것](https://medium.com/polkadot-network/everything-you-need-to-know-to-prepare-for-polkadot-32d08b929735). + +@(Polkadot)은 연결된 모든 패러체인들에 **공유된 보안(Shared security)**을 제공하고 연결된 모든 체인이 [ICMP](../learn/interchain.md)를 통해 **상호 운용(interoperate)** 할 수 있도록 하자 라는 두 가지 목표를 가진 블록체인 프로토콜입니다. Parity Substrate 및 Cumulus와 같은 [PDKs](./pdk.md)가 등장해서 새로운 체인을 개발하고 런칭하는 데 걸리는 시간이 크게 줄어 들었습니다. 예전엔 새로운 체인을 출시하는 데 몇 년이 걸렸지만 이제 겨우 몇 주나 몇 일밖에 걸리지 않습니다. + +이 가이드는 오늘 Polkadot으로 당신의 비전을 오늘 당장 시작해 볼 수 있도록 안내합니다. 그리고 @(parachain)과 스마트 컨트랙트의 차이점을 설명할 것입니다.(그리고 둘 중 다른 하나가 왜 당신의 어플리케이션에 더 적합한 지 알 수 있습니다.) 현재 사용할 수있는 리소스와 곧 제공될 리소스를 배치할 것이므로 올해 후반에 런칭 될 폴카닷(Polkadot) 메인넷에 당신의 애플리케이션을 만들 수 있습니다. + +## 우리는 지금 어디쯤 있을까요? + +- 메인넷: **End of 2019** +- 현재 PoC 릴리스: **PoC-4** +- 현재 testnet: **Alexander** +- Substrate: **1.0.0-rc** +- Cumulus: **미완성** +- ink!: **프리 알파(Pre-Alpha)** + +**알아야 할 것들**: 폴카닷(Polkadot)은 현재 Alexander testnet의 PoC-4 릴리스를 진행했습니다. Alexander testnet은 전체 PoC-3 릴리스 사이클을 ​​통해 3개월 이상 운영 되었습니다. 폴카닷(Polkadot)은 Rust에서 JavaScript까지 [다양한 프로그래밍 언어로 구현됩니다]((../learn/implementations.md)). 현재 최신 구현체가 Rust로 구현되어 있고 서브스트레이트(Substrate) 프레임워크를 사용하여 블록 체인을 개발합니다. 서브스트레이트(Substrate)는 개발자가 네트워킹 프로토콜, 컨센서스 및 Wasm 인터프리터를 포함하여 기본 레이어을 기반으로 전체 블록 체인을 보다 쉽게 ​​개발할 수있게 해주는 라이브러리입니다. 개발 중인 서브스트레이트(Substrate)의 확장 기능인 Cumulus를 사용하면 모든 서브스트레이트(Substrate)로 구축된 체인이 Polkadot에 연결되어 패러체인이 될 수 있습니다. Substrate는 1.0.0릴리스에 가까워지고 있고 API를 결정 할 예정입니다. + +서브스트레이트(Substrate)체인은 SRML의 컨트랙트 런타임 모듈을 포함하여 스마트 컨트랙트를 만들 수 있습니다. 컨트랙트 모듈을 사용하면 Wasm으로 컴파일 된 스마트 컨트랙트를 체인에 배포 할 수 있습니다. 컨트랙트의 배포를 쉽게 하기 위해 Parity는 ink!라는 DSL(Domain Specific Language)를 개발했습니다. + +폴카닷(Polkadot)은 2019년 말에 mainnet을 런칭 할 예정입니다. 이제 개발 도구들이 생기고 안정화되기 시작했기 때문에 메인넷을 시작하는데 더 좋습니다. 하지만 기다려주세요! 먼저 코드를 들여다보기 전에, Polkadot를 빌드하려는 개발자가 사용할 수있는 다양한 패러다임이 있다는 것을 이해하고 만들고 싶은 분산형 애플리케이션의 종류에 대해 생각해야 합니다. + +##패러체인을 만드는 것과 스마트 컨트랙트를 만드는 것의 차이점은 뭔가요? + +폴카닷(Polkadot)은 두 가지 방법으로 어플리케이션을 배포 할 수 있습니다. 기존의 패러체인에 스마트 컨트랙트를 개발하던지 아니면 당신만의 패러체인을 만드는 것입니다. 이 중 한 방법으로 작업 할 때 트레이드 오프가 있으며 이 섹션을 읽으면 트레이드 오프에 대해서 이해하는 데 도움이 됩니다. + +패러체인(Parachain)는 폴카닷(Polkadot) 릴레이 체인에서 제공하는 shared security 와 인터체인 메시징의 이점을 누리는 자체 런타임 로직를 포함하는 개별 체인입니다. 패리체인(parachain)은 높은 수준의 유연성과 커스텀을 허용하지만 패러체인을 만들 떄 더 많은 노력이 필요합니다. + +폴카닷(Polkadot) mainnet에는 스마트 컨트랙트 플랫폼 역할을 하는 하나 이상의 패러체인(parachain)이 있습니다. 스마트 컨트랙트는 단일 체인에만 존재하며 복잡성이 제한된 실행 프로그램입니다. 스마트 컨트랙트는 단일 체인에 존재하기 때문에 다른 스마트 컨트랙트와 원활한 상호 운용성을 가집니다. 그러나 호스트 체인의 내재된 특성에 의해 항상 제한적입니다. + +어플리케이션의 디자인과 기능에 대해서 많은 부분을 제어해야 할 필요가 있는 경우 패러체인(parachain)을 선택하는 것이 더 낫습니다. 스마트 컨트랙트는 나중에 제대로 된 패러체인(parachain)으로 바뀌기 전에 테스트 용도로 사용할 수 있는것에 대해서 염두에 두세요. 스마트 컨트랙트 플랫폼에는 일반적으로 이터레이션(iteration)을 수월하게 만드는 IDE와 같은 편리한 도구가 포함될 것입니다. 패러체인(parachain)을 만들기 위한 모든 작업을 시작하기 전에 유저의 관심도을 측정하기 위해 스마트 계약 MVP를 만들 수 있습니다. + +패러체인(parachain)은 처음부터 체인의 통화 시스템을 구축 할 수있는 공간을 제작자에게 줍니다. 복잡한 논리를 스마트 컨트랙트 플랫폼 보다 좀 더 간결하고 효율적으로 실행할 수 있게 합니다. 또한 패러체인(parachain)은 거버넌스의 형태로 더 많은 것들을 제공하며 지금같은 하드포크 프로세스보다 덜 논쟁적인 방식으로 완전한 업그레이드를 할 수 있습니다. + +패러체인(parachain)에서 할 수 있는 기능들의 몇가지 예시를 말하자면, + +- 수수료 구조 커스텀 (예를 들어 트랜잭션에 대해 고정 수수료를 내거나 바이트 별로 수수료를 낼 수 있게 하는것) +- 자체 토큰을 위한 커스텀 인플레이션 정책 (Custom inflation policy for the native token) +- 스테이트 함수의 변화를 통해 자금을 모금하는 것 (Treasury to be funded through transitions in your state function) +- 온체인 자금을 분배하는 역할을 가진 DAO를 관리할 수 있는 거버넌스 매커니즘 + +![build 1](../../../img/build-1.png) + +패러체인(parachain)은 스마트 컨트랙트로 실행하기에는 너무 비싸서 하지 못하는 복잡한 런타임을 구성 할 수있는 가능성을 열었습니다. 비교하자면 패러체인(parachain)은 Gas 계량 시스템을 완전히 갖추고 있지 않으며 스마트 컨트랙트에선 하지 못하는 무한 루프때문에 생기는 버그에 잠재적으로 취약 할 수 있습니다. + +또한 패러체인(parachain)과 스마트 컨트랙트를 결합하여 사용할 수도 있습니다. 루프가 필요한 특정 로직이 있고 제거 할 수 없다면 내장된 패러체인(parachain) 런타임을 사용하여 모든 복잡한 로직을 처리하고 스마트 컨트랙트는 이터레이션을 호출하는 방법을 쓰면 됩니다. + +대부분의 경우 어플리케이션이 패러체인(parachain)을 사용하는 방법이나 다른 방법이 (또는 둘의 하이브리드)에 더 잘 어울리는 것을 이미 알았을 것입니다. 그러나 정보를 요약하기 위해 간단한 요약본이 필요할 경우 다음 비교차트를 치트시트로 사용할 수 있습니다. : + +![build 2](../../../img/build-2.png) + +이 가이드는 이제 애플리케이션을 만들기 위해 스마트 컨트랙트를 사용하기로 결정했는지 또는 패러체인(parachain)을 사용할 건지에 따라 두 섹션으로 나뉩니다. 두 섹션을 모두 읽으셔도 되고 아니면 해당되는 섹션만 읽어도 됩니다. + +- [패러체인(parachain)으로 만들고 싶어요!](#so-you-want-to-build-a-parachain) +- [스마트 컨트랙트로 만들고 싶어요!](#so-you-want-to-build-a-smart-contract) + +## 패러체인(parachain)을 만들길 원한다면 + +이제 패러체인(parachain)을 구축하는 것이 새 프로젝트에 적합한 방법이라는 결론을 얻었으므로 다음 단계는 사용할 프레임 워크를 결정하는 것입니다. 현재로는 서브스트레이트(Substrate)가 패러체인 개발을 위한 유일한 프레임워크 입니다. + +앞으로 C++, Rust, Go 및 JS를 통해 다양한 언어로 많은 [폴카닷(Polkadot) 런타임 구현체](../learn/implementations.md)가 생길 겁니다. + +### 서브스트레이트(Substrate)로 시작하기 + +위에서 언급했듯이 서브스트레이트(Substrate)는 폴카닷(Polkado)t 자체가 만들어지는 기본 프레임워크 입니다. 블록체인을 도입하려는 사람들을 위한 툴셋이며 체인 구성에 필요한 빌딩 블록을 제공합니다. 서브스트레이트(Substrate)에는 더 복잡한 체인 논리를 작성할 수있는 모듈식 플러그 인 라이브러리(library of modular plug-in)가 포함되어 있습니다. + +Parity Technologies가 만들고 유지 관리하는 온라인 리소스 인 서브스트레이트(Substrate) 개발 Hub에 가서 살펴보는 것이 서브스트레이트(Substrate)를 시작하는 가장 좋은 방법입니다. + +> Substrate 개발자 허브-> [**여길 클릭해보세요.**](https://docs.substrate.dev) + +일반적인 패턴에 익숙해지기 위해 개발자 허브를 뒤져보는 것이 좋습니다. 확실히 이해를 한 후에는 Substratekitties 워크샵을 통해서 스스로에게 도전해보고 TCR Dappchain 튜토리얼로 넘어가서 진행하면 됩니다. + +###패러체인(parachain)을 만드는 방법 + +서브스트레이트(Substrate)로 체인 로직을 만든 후에는 @(Wasm)실행 파일로 컴파일 할 수 있습니다. 이 Wasm 코드 Blob은 만들어진 패러체인(parachain)의 전체 스테이트 전이 함수를 포함합니다. + +폴카닷(Polkadot) 릴레이 체인의 밸리데이터는 이 Wasm BLOB를 사용하여 만들어진 패러체인(parachain)의 모든 스테이트 전이를 확인합니다. + +폴카닷(Polkadot) 밸리데이터 가 패러체인(parachain)의 최근 스테이트 전이를 최신상태로 유지하기 위해서 필요한 인프라가 있습니다. 위에서 설명한 작업은 패러체인(parachain)의 검사기(collator) 노드에 의해 수행됩니다. + +서브스트레이트(Substrate)에는 자체 네트워킹 레이어가 내장되어 있지만 폴카닷(Polkadot)-호환 검사기(collator) 노드는 네트워킹 레이어가 지금 당장은 없습니다. + +이를 위해 Parity Technologies는 서브스트레이트(Substrate)에 대한 확장기능인 Cumulus를 개발하여 서브스트레이트(Substrate)로 만들어진 체인을 폴카닷(Polkadot)에 연결할 준비가 된 패러체인(parachain)으로 쉽게 전환 할 수있게합니다. + +#### 뭉게구름(Cumulus) + +[Cumulus](./cumulus.md)는 서브스트레이트(Substrate)의 확장기능이며 폴카닷(Polkadot)과 호환되는 서브스트레이트(Substrate) 런타임을 만드는 것이 목표입니다. + +폴카닷(Polkadot)에 연결하기 위해 모든 패러체인(parachain)이 구현해야하는 아래항목들이 포함된 네트워크 호환 오버헤드(network compatibility overhead)를 다룹니다. + +- 인터체인 메시지 전달 (Interchain message passing) +- 특별 검사기 노드 셋업 (Out-of-the-box Collator node setup) +- 릴레이 체인의 내장 라이트 클라이언트 (An embedded light client of the relay chain) +- 폴카닷(Polkadot) 블록 출처 호환 (Polkadot block authorship compatibility) +- Cumulus를 서브스트레이트(Substrate) 체인에 통합하면 최소한의 수정으로 폴카닷(Polkadot)에서 작업 할 수있는 패러체인(parachain)으로 이식 할 수 있습니다. crate를 불러와서 한 줄을 추가하는 것과 같은 작은 작업으로도 가능합니다. + +폴카닷(Polkadot)의 공동 창업자인 Rob Habermeier가 최근 EthCC에서 Cumulus의 최근 개발상황에 대해서 말했습니다. 아래에서 비디오를 보실 수 있습니다. + +[![img](http://img.youtube.com/vi/thgtXq5YMOo/0.jpg)](https://www.youtube.com/watch?v=thgtXq5YMOo) + +### 폴카닷(Polkadot)에 패러체인(parachain)을 포함시키는 방법 + +패러체인(parachain)을 Polkadot 네트워크에 포함 시키려면 패러체인(parachain)슬롯을 확보해야합니다. + +패러체인(parachain)슬롯은 공개 입찰로 판매되며, 그 메커니즘은 위키의 [parachain auction](../learn/auction.md) 페이지에서 확인할 수 있습니다. + +## 스마트 컨트랙트를 만들기를 원할 경우 + +폴카닷(Polkadot) 릴레이 체인 자체는 스마트 컨트랙트를 지원하지 않을 것입니다. +그러나 폴카닷(Polkadot)는 여러 다른 종류의 블록체인의 네트워크이므로 패러체인(parachain)이 스마트 컨트랙트를 지원 할 것입니다. + +이미 Parity Technologies는 스마트 컨트랙트 기능을 포함하길 원하는 패러체인(parachain)을 위해 즉시 사용 가능한 솔루션의 기초 작업을 해놓았습니다. +코어 SRML의 서브스트레이트(Substrate) [contract](https://github.com/paritytech/substrate/tree/master/srml/contract) 모듈은 Wasm으로 컴파일 된 스마트 컨트랙트을 지원합니다. + +Wasm으로 컴파일되는 스마트 컨트랙트를 개발하기 위해서는 적절한 언어가 필요합니다. 이를 위해 Parity는 [잉크](#ink)라는 DSL(Domain Specific Language)을 개발하고 있습니다. + +[Edgeware](#edgeware)는 스마트 컨트랙트를 지원하는 폴카닷 패러체인(Polkadot parachain)이 될 의사가 있다고 발표한 프로젝트 입니다. +생태계가 성숙함에 따라 더 많은 블록체인들이 스마트 컨트랙트가 가능한 패러체인(parachain)으로 될 확률이 높습니다. + +폴카닷(Polkadot)은 또한 브릿지를 통해 Ethereum 및 Tezos와 같은 기존 스마트 계약 플랫폼과 호환 될 것입니다. +즉, 오늘 이런 플랫폼에서 개발 된 작업조차도 향후 폴카닷(Polkadot)에서 실행할 수 있습니다. + +### Edgeware + +Edgeware는 폴카닷(Polkadot)을 위해 계획된 패러체인(parachain)이고 스마트 컨트랙트 기능도 작동 할 것입니다. 거버넌스 및 토큰 배포와 관련된 다른 흥미로운 혁신과 함께 스마트 컨트랙트 기능이 활성화 된 폴카닷(Polkadot) 메인넷에 연결되는 최초의 패러체인(parachain)이 될 것입니다. [웹 사이트](https://edgewa.re)에서 프로젝트의 최신 정보를 얻을 수 있습니다. + +### Ink + +[잉크] (https://github.com/paritytech/ink)는 Rust로 만들어졌으며 스마트 컨트랙트 개발을 위한 새로운 DSL(Domain specific language)이고 Wasm 코드로 컴파일 됩니다. README에 쓰여진 것 처럼, 아직 실험 단계에 있으며 계획된 많은 기능이 빠져 있지만 지금 스마트 컨트랙트를 작정 할 수 있습니다. + +관심있는 개발자의 경우 이미 만들어진 [예제]((https://github.com/paritytech/ink/tree/master/examples)를 공부해보고 Ink를 사용하여 스마트 컨트랙트 개발을 시작할 수 있습니다. 이 예제들은 스마트 컨트랙트 패러체인(parachain)에 배포 할 수 있는 더 복잡한 로직을 작성하는것을 도와주는 가이드로 사용할 수 있습니다. + +WasmVM 기반이며 서브스트레이트(Substrate)체인과 호환되는 잉크!는 새로운 스마트 컨트랙트 스택을 위한 많은 기초작업을 진행했습니다. + +서브스트레이트(Substrate)에는 스마트 컨트랙트 체인에 필요한 핵심 로직을 포함하는 컨트랙트 모듈이 포함됩니다. 이 라인을 따라, 잉크!는 Rust로 작성된 스마트 컨트랙트 언어가 될 것입니다. 기존의 Rust 툴링 과 지원을 받을 수 있다는 이점이 있고 Wasm로 컴파일 할 것입니다. + +## 스마트 컨트랙트 배포하기 + +스마트 컨트랙트는 단순하게 말하자면 체인의 주소에 있는 코드이고 외부 액터가 호출 할 수 있습니다. 핵심 부분은 누군가가 실행을 시작하기 전에 실제로 코드를 체인에 두어야한다는 것입니다! + +사용할 어떤 특정 패러체인(parachain)인지에 따라서 체인에 스마트 컨트랙트를 배포하는 것은 약간 다를 수 있지만 대개 장부에 스마트 컨트랙트를 작성하는 특별 트랜잭션이 전송됩니다. 스마트 컨트랙트가 소비하는 초기화 로직 및 스토리지에 대한 관련 요금을 지불해야 할 것입니다. + +## 스마트 컨트랙에 수수료 지불하기 + +각 플랫폼마다 스마트 컨트랙트 스테이트를 유지하는 다른 지불 방법이 있습니다. + +스마트 컨트랙트에 대해 지불하는 다양한 방식은 다음과 같습니다. + +- 각 트랜잭션 배포와 관련된 트랜잭션 수수료. +- 플랫폼의 사용을 위해 체인 엔티티를 정기적으로 지불하는 구독 모델. +- 플랫폼을 사용하기 위해 자체 토큰의 일정량을 보유해야하는 액세스 토큰 모델 (EOS도 비슷한 모델이 있습니다). +보관료. +- 무료 평가판 또는 개발자 프로모션. +- 대부분의 스마트 컨트랙트 플랫폼은 사용자가 수행 할 수있는 작업의 수를 제한하기 위해 가스 형태를 사용합니다. 사용자는 가스 요금을 먼저 지불해야하며 사용하지 않은 것에 대해서는 환불됩니다. + +가스 사용량이 합리적인 범위 내에서 유지되도록 스마트 컨트랙트의 저장장치와 복잡성을 고려해야합니다. 저장소는 사용하는 스마트 컨트랙트 플랫폼에 따라 비용이 많이 들 수 있으므로 가능한 한 많은 데이터를 체인에서 분리해야합니다. IPFS 또는 Storj를 사용하여 데이터를 보관하고 체인에있는 컨텐츠 주소만 체인에 저장하는 것을 고려할 수 있습니다. + +### 여전히 초기단계예요. + +폴카닷(Polkadot)의 스마트 컨트랙트의 경우 아직 매우 이른 때이고 개발은 이제서야 안정화되고 있습니다. 우리는 최신 정보와 함께 위키를 유지하고 개발자들이 프로젝트에 대해 빨리 파악 할 수 있도록 컨텐츠를 적극적으로 제작하고 있습니다. 또한 다음 링크를 통해 최신 정보를 알아야 합니다. + +- [Edgeware](https://edgewa.re). +- [ink!](https://github.com/paritytech/ink). (Wiki 탭에서 내용을 확인하세요.) +- [Substrate contracts module](https://github.com/paritytech/substrate). + +## 결론 (Conclusion) + +이 가이드는 멘탈 모델을 제시하고 지금 프로젝트를 패러체인(parachain)로 할 것인지 스마트 컨트랙트로 할 것인지 결정하고 시작하는 데 도움이 되는 필수 리소스를 보여줍니다. 툴링이 여전히 발전하는 중이라도 빨리 시작하는 것의 장점은 프로젝트에 익숙해진다는 것과 앞서서 출발 하는 것이기 때문에 정말 새로운 것을 만들 수 있고 혁신 할 수 있습니다. + +If you have interesting ideas for parachains or smart contracts on Polkadot feel free to drop in to the [Polkadot Watercooler](https://riot.im/app/#/room/#polkadot-watercooler:matrix.org) to talk about them. Developers may be interested in joining the [Polkadot Beginners Lounge](https://riot.im/app/#/room/#polkadotnoobs:matrix.org) or [Substrate Technical](https://riot.im/app/#/room/#substrate-technical:matrix.org) to ask their questions. As always, keep up to date with Polkadot by following the [social channels](https://wiki.polkadot.network/en/latest/community/). Good luck! diff --git a/docs/lang/korean/build/cumulus.md b/docs/lang/korean/build/cumulus.md new file mode 100644 index 00000000..3e89edcc --- /dev/null +++ b/docs/lang/korean/build/cumulus.md @@ -0,0 +1,29 @@ +# 뭉게구름 (Cumulus) + +> 뭉게구름(Cumulus clouds)은 점(dots)처럼 생겼고 이 프로젝트처럼 아직 정해진 것이 없습니다. (현재 초기 프로토타입이므로 모양이 정해지면 (구름은 아직 형태가 정해지지 않았으므로 gets cooler 라고 원문에 표시되어 있음 - 역자 주 )이름을 변경해야합니다. + +[Cumulus](https://github.com/paritytech/cumulus)는 섭스트레이트의 확장 기능으로 어떤 섭스트레이트 빌트 런타임이라도 Polkadot 호환 패러체인으로 쉽게 만들 수 있게 합니다. + +## 컴포넌트(Components) + +### 뭉게구름 컨센서스 (Cumulus Consensus) + +폴카닷(Polkadot) 릴레이 체인을 따르는 Substrate의 컨센서스 엔진입니다. 이것은 폴카닷(Polkadot) 노드를 내부적으로 실행하고 어떤 체인을 따를 것이며, 어떤 체인을 최종적으로 승인할 것인지(Finalize), 어떤 체인을 제일 먼저 다룰 것인지에 대해서 클라이언트와 동기화 알고리즘에 영향을 줍니다. + +### 뭉게구름 런타임 (Cumulus Runtime) + +폴카닷(Polkadot) 밸리데이터가 유효성을 검사하고 증인 생성 루틴(Witness generating routine)을 제공할 수 있게 하는 서브스트레이트(Substrate) 런타임의 Wrapper입니다. 밸리데이터가 호출 할 서브스트레이트(Substrate) 외부 인터페이스에 `validate_block` API를 추가합니다. + +섭스트레이트 런타임에 통합하는 것은 Crate를 가져와서 한 행의 매크로를 코드에 추가하는것 만큼 쉽습니다. + +``` rust +runtime::register_validate_block!(Block, BlockExecutor); +``` + +### 뭉게구름 검사기 (Cumulus Collator) + +패러체인을 위한 폴카닷(Polkadot) 검사기(collator)가 준비중입니다. + +## Resources + +- [EthCC에서 Cumulus를 소개하는 Rob의 발표](https://www.youtube.com/watch?v=thgtXq5YMOo) diff --git a/docs/lang/korean/build/deploy-parachains.md b/docs/lang/korean/build/deploy-parachains.md new file mode 100644 index 00000000..6b343a5b --- /dev/null +++ b/docs/lang/korean/build/deploy-parachains.md @@ -0,0 +1,88 @@ +# 패러체인을 보고 배포하는 방법 (How to view and deploy parachains) + +이 가이드는 Alexander testnet과 함께 동작하도록 업데이트 되었습니다. + +## 패러체인을 보는 방법(How to view parachains) + +[Polkadot UI](https://polkadot.js.org/apps/#/explorer)에서 `Chain State` 탭을 찾으새요. `parachains` 모듈을 선택하고 탭에서 `parachains()`을 선택한 뒤 `+` 을 누르세요. 그렇다면 현재 작동중인 패러체인(parachain)의 array를 리턴합니다. + +## 패러체인에 애더(Adder)를 배포하는 방법 (How to deploy the Adder parachain) + +**투표를 만들기 위해 필요한 최소한의 보증금이 필요합니다. 현재는 최소 5 Dot이 필요합니다.** + +`Adder`패러체인(parachain)은 스토리지에 값을 유지하고 메시지가 전송 될 때 이 값에 더하는 단순한 패러체인(parachain) 입니다. 폴카닷(Polkadot) 레포지토리의 `test-parachains` 폴더에 있습니다. + +> 조금 시간이 지난 Adrian Brink가 발표한 [이 가이드의 비디오는 여기서 보실 수 있습니다]((https://www.youtube.com/watch?v=pDqkzvA4C0E)). 가이드가 두개로 나뉘면 이 텍스트를 최종본으로 업데이트 하세요. + +### 코드 짜기 (Building the code) + +첫번째로 폴카닷(Polkadot) 코드를 다운로드 받습니다. + +```bash +git clone https://github.com/paritytech/polkadot.git +``` + +Rust가 설치되어 있는지 확인하세요. + +```bash +curl https://sh.rustup.rs -sSf | sh +sudo apt install make clang pkg-config libssl-dev +rustup update +``` + +다음 폴카닷(Polkadot) 디렉토리에 있는 `test-parachains`디렉토리를 찾아서 실행시키고 스크립트를 실행시키고 빌드합니다. + +```bash +cd polkadot/test-parachains +./build.sh +``` + +이 폴더에 들어있는 간단한 `Adder` 패러체인(parachain)의 Wasm 실행 파일이 생성됩니다. 이 패러체인(parachain)은 단순히 전송 된 메시지를 추가합니다. Wasm 실행 파일은 `parachains / test / res / adder.wasm` 경로에 값을 출력합니다. 결과값들은 거기서 찾을 수 있습니다. + +이 패러체인(parachain)의 제네시스 스테이트를 얻기 위해서 검사기 (Collator)노드를 빌드하고 실행시켜야 합니다. + +`test-parachains/adder/collator`디렉토리로 가서 `build`와 `run` 커맨드를 실행하세요. + +```bash +cargo build +cargo run +[ctrl-c] +``` + +검사기(Collator)노드를 즉시 중단하면 다음과 같은 출력이 표시됩니다 + +``` +Starting adder collator with genesis: +Dec: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 27, 77, 3, 221, 140, 1, 241, 4, 145, 67, +207, 156, 76, 129, 126, 75, 22, 127, 29, 27, 131, 229, 198, 240, 241, 13, 137, 186, 30, 123, 206] +Hex: 0x00000000000000000000000000000000000000000000000000000000000000000000000000000000011b4d03dd8c01f1049143cf9c4c817e4b167f1d1b83e5c6f0f10d89ba1e7bce +``` + +여기서 16진수(hex) 스트링이 중요한 정보입니다. +이 정보는 제네시스 스테이트(Genesis state)이고 다음 단계를 위해서 저장해놓아야 합니다. + +### 패러체인 배포하기 (Deploying the parachain) + +`Extrinsics` 탭에 있는 [Polkadot UI](https://polkadot.js.org/apps/#/extrinsics)로 가세요. +패러체인(parachain)을 배포하고 싶은 계정을 선택하세요 패러체인(parachain)을 배포하기 위해서 투표를 생성해야 합니다. + +`democracy` -> `propose(proposal,value)` -> `parachains` -> `registerParachain(id,code,initial_head_data)` 순서대로 클릭하세요. + +`id` 입력에서 패러체인(parachain)의 id를 입력하세요. 단순한 애더(Adder)의 경우 `100`이 됩니다. `code` 필드에서 페이지 버튼을 클릭하고 그다음 이전에 컴파일 된`adder.wasm` 바이너리를 업로드 하세요. `initial_head_data`에서 검사기(collator) 노드를 실행하여 얻은 16진수(hex) 데이터를 복사하여 붙여 넣습니다. `value` 필드에서 투표를 만들 때 필요한 최소값을 입력해야합니다. 이 글을 쓰는 시점에서 Alexander testnet에서 _5 DOTs_가 필요합니다. + +![패러체인 등록하기](../../img/parachain/register.png) + +`Democracy` 탭으로 이동하면 프로포절 섹션에서 프로포절을 볼 수 있습니다. + +일단 프로포절이 투표가 될 때까지 기다리면 `Nay`나 `Aye`에 투표 할 수 있습니다. 아마도 당신은 당신의 패러체인(parachain)을 배포하기위한 표가 될 것이기 때문에 당신은 Aye에게 투표 할 것입니다. + +![패러체인 투표](../../img/parachain/referendum.png) + +투표 기간이 끝나면 패러체인(parachain)의 스테이트를 쿼리 할 수 있습니다. +`Chain State` 탭으로 가서 `parachains` 스테이트를 쿼리함으로써 패러체인(parachain)에 대한 정보를 볼 수 있습니다. + +![parachain info](../../img/parachain/info.png) + +### 패러체인과 인터렉션 하기 (Interacting with the parachain) + +_Coming soon_ diff --git a/docs/lang/korean/build/dev-roadmap.md b/docs/lang/korean/build/dev-roadmap.md new file mode 100644 index 00000000..ff2300c5 --- /dev/null +++ b/docs/lang/korean/build/dev-roadmap.md @@ -0,0 +1,47 @@ +# 개발자를 위한 로드맵 (Roadmap For Developers) + +개발자들에게는 언제 업스트림 팀이 특정 마일스톤에 도달 할지 예상할 수 있는 몇 가지 가이드 포스트가 필요합니다. +우리가 알고있는 정보로 아래 섹션을 최신 상태로 유지하고 가능한 경우 명확한 날짜를 추가하려고 노력할 것입니다. + +## 서브스트레이트(Substrate) + +### 1.0 + +41% 완료 + +[마일스톤 트래커](https://github.com/paritytech/substrate/milestone/9) + +예상되는 기능들: + + - 확정된 API와 안정된 인터페이스 + - [리스트레토 크립토 (Ristretto Crypto)](https://ristretto.group/ristretto.html) + - 튼튼한 네트워크 + - 해결되지 않은 버그 제거 + - 분리된 잔고 (Decoupled balances) + - 인테그레이션 테스트 (Integration tests) + - Wasm/native 실행 휴리스틱스를 통한 향상된 컨트롤 (Enhanced control over Wasm/native execution heuristics) + - 런타임에서의 Panics/overflows 스윕 (Panics/overflows sweeps in runtime) + +### 1.1 + +[마일스톤 트래커](https://github.com/paritytech/substrate/milestone/4) + +예상되는 기능: + + - 경제학적 안정 (Economic safety) + +## Polkadot + +현재 릴리즈: **PoC-4** + +### PoC 5,6,7 + +이슈 트래커에서 7% 진척도가 있음. + +[마일스톤 트래커](https://github.com/paritytech/polkadot/milestone/2) + +예상되는 기능들: + + - 패러체인(parachain) 후보들의 증명을 위한 BLS 시그니처 에그리게이션 + - [패러체인(parachain) 토큰들을 거버넌스에 통합(Integrate Parachain tokens into governance)](https://github.com/paritytech/polkadot/issues/124) + - 패러체인(parachain) 확인(validation)의 개선 diff --git a/docs/lang/korean/build/examples/index.md b/docs/lang/korean/build/examples/index.md new file mode 100644 index 00000000..f6281976 --- /dev/null +++ b/docs/lang/korean/build/examples/index.md @@ -0,0 +1,33 @@ +# Examples + +구현 예시들은 개발패턴을 설명하는데 도움이 됩니다. +이 레포지토리는 개발자들에게 도움이 될만한 몇몇 오픈소스 구현 예시들을 모아 놓았습니다. + +## 서브스트레이트(Substrate) 런타임 구현체들 + +### Parity + +- [Shasper](https://github.com/paritytech/shasper)- 서브스트레이트(Substrate) 런타임 으로 구현된 이더리움 2.0. +- [Substrate TCR](https://github.com/parity-samples/substrate-tcr)- 런타임 모듈로 구현된 토큰 큐레이트 레지스트리(Token curated registry). +- [Substrate ERC20](https://github.com/parity-samples/substrate-erc20) - 서브스트레이트(Substrate)에 구현된 ERC20 토큰 표준 (Token standard) . + +### 커뮤니티 + +- AdEx 페이먼트 채널은 서브스트레이트(Substrate)를 사용합니다.[Video](https://www.youtube.com/watch?v=1CeI6Oa1BnU). [Repo](https://github.com/AdExNetwork/adex-protocol-substrate). +- ROS 와 통합된 로보노믹스 모듈(Robonomics modules for integrating with ROS). [Repo](https://github.com/airalab/substrate-node-robonomics) +- Staked Technologies의 서브스트레이트(Substrate) 위에서 플라즈마(Plasma)구현. [Repo](https://github.com/stakedtechnologies/Plasm) +- 엣지웨어(Edgeware). [Repo](https://github.com/hicommonwealth/edgeware-node) +- 프라이버시에 중점을 둔 런타임 모듈인 제로체인 (Zerochain privacy-focused runtime module). + - [Zero-chain Repo](https://github.com/LayerXcom/zero-chain) + - [Bellman-substrate (섭스트레이트 위애서 zksnark 구현) Repo](https://github.com/LayerXcom/bellman-substrate) +- 서브스트레이트(Substrate) 위에서 IPFS 메타데이터를 구현한 Starlog. [Repo](https://github.com/PACTCare/Starlog) +- 서브스트레이트(Substrate)를 사용해서 사과를 파는 "애플 스토어" 구현 예제 (섭스트레이트를 사용해서 사과를 파는 "애플 스토어" 예시 ). [Repo](https://github.com/osuketh/apple-store-substrate) +- 랜드체인(Landchain), 크로스체인 게이밍 플랫폼(cross-chain gaming platform). [Repo](https://github.com/evolutionlandorg/land-chain) +- 조이스트림(Joystream), 유저 중심의 비디로 플랫폼 (user governed video platform). [Repo](https://github.com/Joystream/substrate-node-joystream) +- IPFS 브라우저(IPFS browser). [Repo](https://github.com/Polygos/substrate-node-ipfsbrowser) +- 서브스트레이트 멀티시그(Substrate multisig). [Repo](https://github.com/mixbytes/substrate-module-multisig) +- 머클트리 모듈(Merkle tree module). [Repo](https://github.com/filiplazovic/substrate-merkle-tree) +- 서브스트레이트를 사용한 주차 공간 등록기(Parking spaces registry using Substrate). [Repo](https://github.com/yjkimjunior/ParkingSpaceSubstrate) +- 서브스트레이트 고유 데이터 샘플들(Substrate inherents sample). [Repo](https://github.com/gautamdhameja/substrate-inherents-sample) +- 현금성 자산을 위한 대체 불가능 자산으로 담보 만들기 (Collateralize non-fungible assets for cash). [Repo](https://github.com/nczhu/collateral) +- Cid 체인(CidChain). [Repo](https://github.com/Polygos/substrate-node-cidchain) diff --git a/docs/lang/korean/build/extrinsic-format.md b/docs/lang/korean/build/extrinsic-format.md new file mode 100644 index 00000000..2bed680a --- /dev/null +++ b/docs/lang/korean/build/extrinsic-format.md @@ -0,0 +1,39 @@ +# 폴카닷 트랜잭션 포맷 (Polkadot Extrinsic Format aka Transaction Format) + +## 이전 포맷 + +참고로 **예전** 트랜잭션 포맷은 아래와 같습니다.: + +``` +[ account-id (32-bytes), index (4-bytes), call (dynamic-length), 첫 세가지 필드에 서명 (account-id, index, call에 서명함 - 역자 주) (64 bytes) ] +``` + +## 현재 포맷 + +폴카닷(Polkadot) 트랜잭션 포맷은 아래와 같습니다.: + +``` +[ address (1/3/5/9/33-bytes, 첫번째 바이트에 따라 다름), index (4-bytes), call (dynamic-length), *오리지널* 필드에 서명함 (64 bytes) ] +``` + +*오리지널* 필드들은 예전 트랜잭션 포맷에서 다음과 같은 요소들을 참조합니다. +``` +[ account-id (32-bytes), index (4-bytes), call (dynamic-length) ] +``` + +새 주소 타입을 위한 특정 형식은 아래 5개의 하위 형식 중 하나이며 첫 번째 바이트로 전환됩니다. + +- `0xff, 32-byte account id` +- `0xfe, 8-byte account index` +- `0xfd, 4-byte account index` +- `0xfc, 2-byte account index` +- `[0xf0...0xfb] (유효하지 않음, 나중에 사용하기 위해 남겨놓음)` +- `[0x00...0xef] 1-byte account index (0xf0보다 작음)` + +계정 인덱스 변형들은 상당히 작지만 스테이트에서 조회가 필요합니다. 인덱스가 계정을 변경할 때 트랜잭션 리플레이 어택을 피하기 위해 서명은 첫 번째 필드인 인덱스가 아닌 계정 ID로 서명되므로 이것때문에 인덱스가 다른 ID를 조회하는 데 사용되면 이전의 모든 서명이 무효화됩니다. + +발신자 필드 뿐만 아니라 이전 형식의 AccountId(32-bytes)였던 Call/Propose(PrivCall) 필드에 대한 파라매터는 이제 Address(1/3/5/9/33-bytes)입니다. + +## 출처 + +[Substrate #195](https://github.com/paritytech/substrate/pull/195) diff --git a/docs/lang/korean/build/hackathon.md b/docs/lang/korean/build/hackathon.md new file mode 100644 index 00000000..e41f9206 --- /dev/null +++ b/docs/lang/korean/build/hackathon.md @@ -0,0 +1,59 @@ +# 해커톤 (Hackathon) + +Web3 Foundation의 목표 중 하나인 [Web3 기술 스택](http://wiki.web3.foundation/en/latest/tech_stack/tech_stack_overview/)을 추진함에 따라 우리는 당신의 도시에있는 Polkadot/Substrate를 더 많은 개발자들이 이해할 수 있도록 해커톤을 진행 할 개인이나 팀을 지원하고자합니다. + +우리는 기술 리소스를 제공하는 것뿐만 아니라 우리 팀 중 누군가가 기술에 대한 핸즈 온(hands-on)워크숍 /프레젠테이션을 진행해서 이를 통해 참가자가 해커톤을 더 빨리 시작할 수 있도록 할 수 있습니다. + +## Ideas + +- NFT +- Bonded Tokens +- New governance modules with different styles of voting & democracy +- Upgrade the TCR module +- IPFS integration +- 분산화된 신원 인증 솔루션 (Decentralized identity solutions) +- 오라클 모듈 (Oracle module) +- 제네럴 스테이트 체널/플라즈마 체인의 구현 (Implement Generalized State Channel/Plasma Chain) +- DeX (Decentralized Exchange) +- 밸리데이터 퍼포먼스 모니터링 툴 (Tools for monitoring validator performance) +- dApps across different parachains + +## 왜 해커톤을 해야만 할까요? + +- Web3의 비전을 전달하는 것을 사랑하기 때문에 +- 최신 기술을 배우기 위해서 +- 개발자들이 어플리케이션을 만들기 위해 Web3 기술 스택이 알맞다는 것을 믿으니까 +- 사람들과 만나는 것을 좋아하니까 + +## 워크샵과 해커톤은 어떻게 다른가요? + +해커톤은 짧은 시간 (몇 시간 ~ 하루) 동안 프로토타입을 보여주고 아이디어를 현실로 구현하기를 원하는 참가자를 대상으로 합니다. 워크샵은 개발자가 현재 사용할 수있는 리소스가 무엇인지, 리소스를 사용하는 방법에 대해 툴링(tooling)하고 이해하는 것에 익숙해 지도록 합니다. + +## 어떻게 당신의 도시에서 해커톤을 열 수 있나요? + +1. 해커톤 지원서를 제출합니다 (Coming soon.) +2. 리뷰하고 +3. 결정한 뒤 +4. 진행합니다. + +## 어떻게 당신을 도와드릴 수 있을까요? + +- 기술적인 리소스나 자료들을 제공하고. +- 장소를 찾아보고. +- 원활한 해커톤 진행을 할 수 있도록 합니다. + +## 앞으로 다가올 해커톤 이벤트 + +Coming soon. + +## 템플릿 / 스티터 팩 + +Coming soon. + +## 참고 자료들 + +- [섭스트레이트 개발자 허브](https://docs.substrate.dev) + +## Support / Contact + +해커톤을 여는데 질문이 있으시다면 [이메일]((mailto:events@web3.foundation))이나 [Riot](https://riot.im/app/#/room/#polkadot-watercooler:matrix.org)으로 연락해 주세요. diff --git a/docs/lang/korean/build/index.md b/docs/lang/korean/build/index.md new file mode 100644 index 00000000..8d95c408 --- /dev/null +++ b/docs/lang/korean/build/index.md @@ -0,0 +1,36 @@ +# Builders Portal + +!!! info + _🏗️ 폴카닷(Polkadot)은 현제 구현되고 있습니다. 이 문서들은 자주 바뀐다는 것을 알려드립니다._ + +폴카닷(Polkadot) 위키의 개발자 섹션에 오신것을 환영합니다. + +여기에서 @(Polkadot)생태계의 개발 도구에 대한 최신 정보를 찾을 수 있습니다. +우리는 폴카닷(Polkadot)에 대해서 알아갈 때마다 항상 새로운 도구와 프레임워크를 추가하고 있습니다. 그래서 만약 여기에 포함되어야 할 것에 대해서 작업 하고 있다면 [Riot](https://riot.im/app/#/room/#polkadot-watercooler:matrix.org)을 통해 연락해주세요 . + +위키의 이 섹션은 세 부분으로 나누어져 있습니다: 첫번째, 폴카닷(Polkadot)을 개발할 때 신속하게 작업 을 할 수있게 만드는 테크니컬 가이드입니다. 두 번째 부분은 개발자 도구에 대한 최신 카탈로그 입니다. 세 번째 부분은 다른 곳에서 찾을 수 없는 좀 더 깊은 기술 정보를 담고있는 자료들이 있습니다. + +## 개발 가이드 Guide + +- [Starter's Guide](./build-with-polkadot.md) - 패러체인(parachain)이나 스마트 컨트랙을 선택하기 위한 고수준의 개괄, 그리고 시작하기 위해서 어떤 리소스를 쓸 수 있는지 알아봅니다. +- [개발 로드맵](./dev-roadmap_KR.md) +- [패러체인 개발 키트(PDK)](./pdk.md) - PDK(parachain development kits)에 대해서 배우고 자신만의 패러체인을 만들어 봅니다. +- [스마트 컨트랙트](./smart-contracts.md) - 폴카닷(Polkadot)과 서브스트레이트(Substrate)의 스마트 컨트랙에 대해서 배워보고 오늘 당장 어떻게 시작할 수 있는지 알아봅시다. + +## Tools + +- [Tools](./tools/index.md) - 지원을 받는 개발 도구들. +- [서브키 (Subkey)](./tools/subkey.md) - Polkadot/Substrate keys를 생성하는 커맨드 라인 유틸리티. + +## 참고자료들 + +- [트랜잭션 포맷 (Extrinsics Format)](./extrinsic-format.md) +- [네트워크](./networks.md) +- [예제들](./examples/index.md) +- [Rust 스타일 가이드](./rust-style-guide.md) + +## Hackathon + +- [해커톤을 열기 위한 자료들](./hackathon.md) + +_More coming soon._ diff --git a/docs/lang/korean/build/networks.md b/docs/lang/korean/build/networks.md new file mode 100644 index 00000000..7bf7ced5 --- /dev/null +++ b/docs/lang/korean/build/networks.md @@ -0,0 +1,67 @@ +# 네트워크 + +다음 커맨드들은 다른 네트워크들 끼리 연결하는데 사용 할 수 있습니다. + +## Development + +다음 명령어로 폴카닷(polkadot)을 설치하고 `polkadot` 바이너리를 `PATH`에 등록하세요. + +```bash +cargo install --git https://github.com/paritytech/polkadot.git polkadot +``` + +다음 명령어를 터미널에 입력해서 단순한 단일 노드 개발 "네트워크"를 작동 시킬 수 있습니다. + +```bash +polkadot --dev +``` + +http://github.com/paritytech/polka-ui나 http://github.com/paritytech/polkadot-ui을 클로닝하거나 만들면서 노닥거릴수 있습니다. 아니면 https://polkadot.js.org/apps을 가리킬 수도 있습니다. + +## Krumme Lanke (베를린 남서쪽에 있는 호수 이름 - 역자 주 ) + +Krumme Lanke는 PoC-2의 개발단계에서 사용했던 테스트넷 네트워크 입니다. +다음 명령어로 Polkadot PoC-2를 설치하고 `polkadot` 바이너리를 `PATH`에 등록하세요. + +```bash +cargo install --git https://github.com/paritytech/substrate.git --branch v0.2 polkadot +``` + +글로벌 "Krumme Lanke" 테스트넷에 기본적으로 연결되어서 동작합니다. +명령어는 아래와 같습니다. + +```bash +polkadot +``` + +## Alexander (PoC-4) + +Alexander 는 PoC-3와 PoC-4 개발단계에서 사용했던 테스트넷 네트워크 입니다. +다음 명령어로 Polkadot PoC-4를 설치하고 `polkadot` 바이너리를 `PATH`에 등록하세요. + +```bash +cargo install --git https://github.com/paritytech/polkadot.git --branch v0.4 polkadot +``` + +글로벌 "Alexander" 테스트넷에 기본적으로 연결되어서 동작합니다. +명령어는 아래와 같습니다. + +```bash +polkadot +``` + +## 2개의 노드로 테스트넷 작동시키기 + +다중 노드 합의 알고리즘 실행을 로컬에서 보고 싶다면 로컬 testnet을 생성 할 수 있습니다. 두 개의 터미널이 열려 있어야합니다. 하나는 다음을 실행하십시오. + +```bash +polkadot --chain=local --validator --key Alice -d /tmp/alice +``` + +다른 터미널에서는 다음 명령어를 실행하세요. + +```bash +polkadot --chain=local --validator --key Bob -d /tmp/bob --port 30334 --bootnodes '/ip4/127.0.0.1/tcp/30333/p2p/ALICE_BOOTNODE_ID_HERE' +``` + +`ALICE_BOOTNODE_ID_HERE`를 첫 번째 터미널의 출력에서 노드 ID로 대체했는지 확인하십시오. diff --git a/docs/lang/korean/build/pdk.md b/docs/lang/korean/build/pdk.md new file mode 100644 index 00000000..9ef842da --- /dev/null +++ b/docs/lang/korean/build/pdk.md @@ -0,0 +1,44 @@ +# 패러체인 개발 킷 (Parachain Development Kits, PDKs) + +PDK (Parachain Development Kit)는 개발자가 폴카닷(Polkadot)에 호환되는 [패러체인(parachains)](../learn/parachains.md)을 쉽게 만들 수 있도록 해주는 툴 셋입니다. + +## 왜 parachain을 만드나요? + +PDK가 무엇이고 어떻게 사용되는지 알아보기 전에 _왜_ 개발자가 패러체인(parachain)을 만들고 폴카닷(Polkadot)에 연결하길 원하는지 다시 논의해봅시다. + +parachain은 개발자에게 독립된 체인을 만드는 것보다 바람직한 두 가지 주요 부가 기능을 제공합니다. + +- _Shared security_ - 체인 자체의 밸리데이터 셋을 부트스트래핑 할 필요성을 없앱니다. +- _인터체인 Interchain communication_ - ICMP 프로토콜을 통해서 parachain들 끼리 서로 상호운용(interoperate)하게 합니다. + +패러체인(Parachains)은 패러체인 슬롯에 [DOT](../learn/DOT.md)을 저당잡은 후 폴카닷(Polkadot) [네트워크의 보안을 빌려올 수 있습니다](../learn/security.md). 즉, 프로젝트를 둘러싼 커뮤니티를 구축하고 네트워크 보안에 참여할 수있는 밸리데이터를 설득하는 사회적 비용이 감소합니다. 폴카닷(Polkadot)은 강력한 보안성을 가질것이며 분산 어플리케이션 프로젝트는 패러체인(parachain)이 되어서 이런 보안기능을 통해 이득을 얻기를 원할것이라고 예상할 수 있습니다. candle 경매를 통해 패러체인(parachain)슬롯을 발리는 매커니즘에 대한 내용은 [여기](../learn/auction.md)를 참조하십시오. + +이미 폴카닷(Polkadot)에 연결된 다른 패러체인(parachains)에 신뢰가 필요없는(trustless) 메시징을 하려는 분산 어플리케이션이나 체인은 패러체인(parachain)이 되길 원합니다. 독립된 체인 간의 상호 운용성에는 광범위한 체인 간에 사용할 수 있도록 특정 제약조건과 복잡한 프로토콜을 포함합니다. 폴카닷(Polkadot)를 사용해서 어플리케이션을 패러체인(parachain)으로 빌드하면 이 기능을 사용할 수 있습니다. [ICMP 프로토콜](../learn/interchain.md)은 어떤 패러체인(parachains)이라도 서로 메시지를 전달해서 상호 운용(interoperate)할 수있게 합니다. 더해서,다른 체인에 대한 브릿지가 런칭된다면 (예를 들어 Bitcoin 또는 Ethereum) 패러체인(parachain)은 다른 체인과 함께 운영이 가능해집니다. + +## PDK가 뭔가요? + +얘기했다시피 PDK는 개발자가 패러체인(parachain)을 쉽게 만들 수 있게 하는 툴 세트입니다. 실제로 이것은 PDK가 두 가지 주요 구성 요소로 구성된다는 것을 의미합니다. + +- _상태 전이 함수 (State transition function)_ - 어플리케이션이 한 상태에서 다른 상태로 이동하는 방법. +- _검사기 노드 (Collator node)_ - 패러체인(parachain)에 대해서 특정 책임을 지는 폴카닷(Polkadot)네트워크 내의 P2P 노드 타입. + +상태 전이 함수(STF)는 응용 프로그램이 하나의 상태에서 다른 상태로 이동하는 모든 추상적인 방법 일 수 있습니다. 이 STF에 대해서 Polkadot이 두는 유일한 제약은 쉽게 증명할 수 있어야 한다 라는 것입니다. 일반적으로 우리는 _증인_ 이나 _증거_ 라고 부릅니다. 릴레이 체인 밸리데이터는 검사기(collator) 노드로부터 받은 각 상태가 실제로 전체 계산을 거치지 않고 올바른지 확인해야하기 때문에 그렇게 해야 합니다. + +이러한 증명의 일부 예로는 Proof-of-Validity 블록 또는 블록을 생성하는 데 필요한 것보다 계산 자원이 적게 필요한 zk-SNARK가 포함됩니다. STF의 증명 생성 내에서 검증 비대칭성(verficaition asymmetry)은 폴카닷(Polkadot)이 높은 보안 보증을 유지하면서 확장을 할 수 있게 하는 필수 불가결한 인사이트 중 하나입니다. + +검사기(Collator) 노드는 폴카닷(Polkadot) 프로토콜의 네트워크 메인테이너(maintainer) 유형 중 하나입니다. 그들은 패러체인(parachain)의 상태와 상태 전이 함수의 반복(iteration)에서 반환 된 새로운 상태의 **가용성을 유지하는 것에(keeping availability)** 대해서 책임이 있습니다. +검사기(collator)노드는 상태(state)를 기록하고 와 ICMP 메시지를 자신과 다른 패러체인간 라우팅 한 것을 기록하기 위해서 온라인 상태를 반드시 유지해야 합니다. 검사기(Collator) 노드는 간결한(succint) 증명을 릴레이 체인 밸리데이터로 전달하고 릴레이 체인에서 최신 블록을 추적해야 되는 역할을 맡고 있습니다. 본질적으로 검사기(collator) 노드는 폴카닷(Polkadot) 릴레이 체인의 라이트 클라이언트로도 작동합니다. 검사기(collator) 노드에 대한 자세한 내용은 [여기](../node/collator.md)를 참조하십시오. + +## 어떤 종류의 PDK가 있나요? + +현재 유일한 PDK는 Parity의 [서브스트레이트(Substrate)](https://github.com/paritytech/substrate) 와 [Cumulus](https://github.com/paritytech/cumulus)입니다. 서브스트레이트(Substrate)는 블록체인에서 기본적으로 만들어지는 블록(네트워킹 레이어, 합의, Wasm 인터프리터 같은 것들)을 제공하고 런타임을 구성하는 직관적인 방법을 제공하는 블록체인 프레임워크입니다. 서브스트레이트(Substrate)는 새로운 체인을 만드는 과정을 쉽게 만들었지만 폴카닷(Polkadot) 호환성을 직접적으로 지원하지는 않습니다. 이런 이유로 Cumulus에 추가된 라이브러리에 Polkadot 호환성 글루(glue)코드가 모두 포함됩니다. Cumulus는 아직 개발 중이지만, crate를 임포트 하고 코드 한 줄을 추가해서 서브스트레이트(Substrate)체인을 가져와서 패러체인(parachain)코드를 추가하는 것이 간단해야 한다 라는 아이디어가 있습니다. + +서브스트레이트(Substrate)와 Cumulus는 블록체인 포맷을 추상화 한 PDK를 제공하지만 패러체인(parachain)이 블록체인이 될 필요는 없습니다. 예를 들어, 패러체인(parachain)은 위의 두 가지 제약 조건, 즉 _상태 전이 함수 (state transition function)_ 및 _검사기 노드(collator node)_ 를 가 있어야 합니다. 다른 모든 것은 PDK를 구현하는 사람에게 달려있습니다. + +PDK에 대한 흥미로운 아이디어 중 하나는 개발자가 snark 기반 parachains를 만들 수있는 [roll_up](https://ethresear.ch/t/roll-up-roll-back-snark-side-chain-17000-tps/3675)키트에 대한 것입니다. + +roll_up 기록을 검토하면 시스템은 **상태(state)**를 업데이트하는 사용자와 **합쳐진 상태 업데이트(aggregates the state upate)** 를 단일 온-체인에 넣는 운영자, 이 두 가지 역할을 사용한다는 것을 알 수 있습니다.roll_up을 패러체인(parachain)용어로 바꾸는 방법은 쉬워야 합니다. roll_up-like 패러체인(parachain)에 대한 상태전이 함수는 상태 (실제로는 쉽게 증명할 수있는 머클트리 일 가능성이 높음)를 유저 입력(user inputs)에서 업데이트합니다. 오퍼레이터는 상태를 집계하고 검사(verification)을 위해 릴레이 체인 밸리데이터로 전달할 zk-SNARK 증명을 생성하는 검사기(collator) 노드로 작동합니다. + +## PDK 만들기 + +만약 당신이나 당신의 팀이 PDK 개발에 관심이 있다면 W3F 협업 리포지토리에서 이슈를 만들어서 자유롭게 의견을 말해주세요. 이런 일에 사용할 수있는 지원금이 있을 수 있습니다. diff --git a/docs/lang/korean/build/smart-contracts.md b/docs/lang/korean/build/smart-contracts.md new file mode 100644 index 00000000..1440fd41 --- /dev/null +++ b/docs/lang/korean/build/smart-contracts.md @@ -0,0 +1,40 @@ +# Smart Contracts + +폴카닷(Polkadot) 릴레이 체인은 스마트 컨트랙트를 기본적으로 지원하지 않습니다. 그러나 폴카닷(Polkadot)의 패러체인(parachain)은 스마트 컨트랙트를 지원합니다. 이미 [Edgeware](https://edgewa.re)와 같은 발표된 프로젝트와 서브스트레이트 내장 [컨트랙트 모듈](https://crates.parity.io/srml_contract/index.html)로 인해 더 많은 패러체인(parachain)이 이 기능을 지원할 수 있습니다. + +## Resources + +Substrate 기반의 패러체인(parachain)에 배포 할 스마트 컨트랙트 작성을 시작하려는 개발자가 현재 사용할 수있는 리소스 목록입니다. + +- [ink!](https://github.com/paritytech/ink) - 스마트 컨트랙트를 작성하기 위한 Parity의 ink. +- [첫번째 컨트랙트 배포하기](https://github.com/paritytech/ink/wiki/Deploying-Your-First-Contract) - 제공되는 `flipper` 컨트랙트 배포 가이드. +- [첫번째 컨트랙트 작성하기](https://github.com/paritytech/ink/wiki/Writing-Your-First-Contract) - `flipper` 컨트랙트를 어떻게 작성하는지에 대한 가이드. +- [서브스트레이트 컨트랙트 워크샵 (Substrate contracts workshop)](https://shawntabrizi.github.io/substrate-contracts-workshop/#/) - `ink!`를 사용하고 ERC20 토큰을 어떻게 작성하는지에 대한 과정을 안내합니다. + +## 예시 + +아래는 스마트 컨트랙트의 커뮤니티 예시들 입니다. 스마트 컨트랙트 예시에 대해서 작업하고 있다면 이 페이지에 추가 하도록 요청 할 수 있습니다! + +- [Ownable](https://github.com/JesseAbram/foRust/) - OpenZeppelin `Ownable` 컨트랙트 포팅 구현체. + +## 스마트 컨트랙트와 패러체인의 배포에는 어떤 차이점이 있나요? + +### 추상화 레이어 (Layer of Abstraction) + +스마트 컨트랙트를 작성할 때 특정 체인 주소에 배포되고 연관되는 지침을 작성합니다. + +비교해 보면, 런타임 모듈은 체인의 상태 전이 함수라고하는 상태 전이 로직의 전체 로직입니다. + +스마트 컨트랙트는 업그레이드 가능성을 의식적으로 구현해야하며 패러체인(parachains)은 루트 명령이나 거버넌스 모듈을 통해 코드를 완전히 교체 할 수 있는 기능이 있어야 합니다. + +스마트 컨트랙트를 작성할 경우에는 결국 자체 환경이 있는 타겟 체인에 배포됩니다. 패러체인(Parachains)을 사용하면 개발자가 자신의 체인 환경을 선언 할 수 있을 뿐만 아니라 다른 사람들이 스마트 컨트랙트를 작성할 수 있습니다. + +### 가스 수수료 (Gas Fees) + +스마트 컨트랙트가 자체 실행을 제한하는 방법을 찾지 않으면 전체 노드가 DOS 공격에 취약합니다. 예를 들어 스마트 컨트랙트의 무한 루프는 체인 전체의 계산 자원을 소비하여 다른 사람이 사용하지 못하도록 할 수 있습니다. [halting problem](https://en.wikipedia.org/wiki/Halting_problem)은 강력한 프로그래밍 언어를 사용하면 프로그램이 실행을 중단할지 여부를 미리 알 수 없다는 것을 보여줍니다. 비트코인과 같은 일부 플랫폼은 매우 제한된 스크립팅 언어를 제공함으로써 이러한 제약을 극복합니다. 이더리움과 같은 다른 플랫폼들은 스마트 컨트랙트 "가스"를 통해 자신의 코드를 실행할 수있는 권리를 "청구"합니다. 스마트 컨트랙트가 실행이 중단되지 않는 상태가 되면 결국에는 가스가 없어져서 실행이 중단되고 스마트 컨트랙트로 만들어진 모든 상태 전이가 롤백됩니다. + +패러체인(Parachains)는 임의로 강력한 프로그래밍 언어를 구현할 수 있으며 자체적인 로직에 대한 가스 개념을 포함하지 않습니다. 이는 어떤 기능을 개발자가 쉽게 구현할 수 있다는 것을 의미하지만, 종료 조건이 없는 루프와 같은 _절대 구현하지 말아야_ 할 일부 구조가 있다는 의미이기도 합니다. 종료가 명확하지 않는 복잡한 루프와 같은 특정 논리를 스마트 컨트랙트가 아닌 레이어에 두거나 완전히 제거하는 것이 현명한 선택이 될 수 있습니다. + +## 참고자료들 (Resources) + +- [서브스트레이트(Substrate) 런타임과 서브스트레이트(Substrate) 스마트 컨트랙트는 언제 만들어야 되나요?](https://stackoverflow.com/a/56041305) - 기술적 관점에서 볼 때 개발자가 런타임 컨트랙트를 개발할지 스마트 컨트랙트를 개발할 것인지에 대한 질문에 대답합니다. diff --git a/docs/lang/korean/build/tools/index.md b/docs/lang/korean/build/tools/index.md new file mode 100644 index 00000000..49ff8982 --- /dev/null +++ b/docs/lang/korean/build/tools/index.md @@ -0,0 +1,76 @@ +# Tools + +여기에서는 개발에 사용할 수 있는 도구 목록을 제공합니다. 도구들은 프로그래밍 언어별로 정렬됩니다. 현재 Rust 생태계는 가장 성숙했고 현시점의 서브스트레이트 위에서 개발을 시작 할 수 있습니다. 다른 프로그래밍 언어를 둘러싼 생태계가 확장되면 아래 섹션도 채워질것입니다. + +## 블록 탐색기 (Block explorers) + +- [Polka.io](https://polka.io) - 폴카닷(Polkadot)의 블록 탐색기(Blockchain explorer) . +- [Polkadot-JS Apps Explorer](https://polkadot.js.org/apps/#/explorer) - 폴카닷(Polkadot)의 대시보드(dashboard) 블록탐색기(block explorer). 기본설정으로 현재 알렉산더 테스트 넷(Alexander testnet)에 연결되어 있습니다. 다른 외부나 로컬의 엔드포인트(endpoint)로 연결 할 수 있습니다. +- [Polkascan](https://polkascan.io/) - 폴카닷(Polkadot)의 블록 탐색기(Blockchain explorer) . **현재 사용중지.** + +## 지갑들 (Wallets) + +- [Polkadot-JS Apps - Accounts](https://polkadot.js.org/apps/#/accounts) +- [Bonds oo7 Polkadot UI](https://github.com/paritytech/substrate-ui) - Bonds oo7 라이브러리로 만들어진 지갑. +- [Polkawallet](https://polkawallet.io/) - 아이폰(iOs)과 안드로이드(Android)를 둘 다 지원하는 폴카닷 모바일 월렛(mobile wallet for Polkadot). 현재 개발중이며 베타버전은 다운로드가 가능합니다. 이 [GitHub](https://github.com/polkawallet-io/polkawallet-RN)링크에서 확인하세요. +- [SpeckleOS](https://www.speckleos.io/) - 브라우저 확장 월렛, 개발중입니다.- 이 [GitHub](https://github.com/SpeckleOS/speckle-browser-extension)에서 진행사항을 확인 할 수 있습니다. +- [ImageWallet](https://www.reddit.com/r/dot/comments/ah3py1/introducing_alpha_version_of_httpsimagewalletio/) - 시각화된 크로스 체인 월렛. **폴카닷(Polkadot)과 모든 서브스트레이트 체인에 대해서 지원이 계획되어 있으며 개발중입니다.** + +## 네트워크 모니터링 및 리포팅 툴 (Network Monitoring & Reporting) + +- [Polkadot Telemetry Service](https://telemetry.polkadot.io/) - 체인을 실행하는 노드, 어떤 소프트웨어 버전 실행중인지, 동기화 상태와 어디에 위치하는지가 표시된 맵 등의 네트워크 정보를 보여줍니다. +- Polkabot - Riot chat을 이용해서 폴카닷 네트워크 모니터링과 리포팅을 합니다. 유저는 봇 플러그인을 만들 수 있습니다. [Blogpost](https://medium.com/polkadot-network/polkabot-a3dba18c20c8). [Github Repository](https://gitlab.com/Polkabot/polkabot) + +## 러스트 (Rust) + +### 클라이언트 + +- [Polkadot](https://github.com/paritytech/polkadot) - 러스트로 구현된 폴카닷 런타임 환경(Polkadot Runtime Environment). + +### Tools + +- [서브스트레이트(Substrate)](https://github.com/paritytech/substrate) - 러스트로 개발된 블록체인 개발 플랫폼(Blockchain development platform). 폴카닷(Polkadot)은 서브스트레이트 위에서 작성됩니다. +- [Substrate Development Hub](https://docs.substrate.dev) - 서브스트레이트를 사용해서 만들어진 블록체인의 전체적인 문서들과 튜토리얼들 + +## C++ + +- [Kagome](https://github.com/soramitsu/kagome) - [Soramitsu](https://github.com/soramitsu)에서 구현한 C++ 폴카닷 클라이언트(Polkadot client) + +## Go + +- [Gossamer](https://github.com/ChainSafe/gossamer) - 폴카닷 런타임 환경(Polkadot Runtime Environment)의 Golang 구현체. +- [Golkadot](https://github.com/opennetsys/golkadot) -폴카닷 서브스트레이트(Polkadot Substrate)의 Golang 구현체 . + +## 자바 스크립트 (JS) + +### 클라이언트 + +- [Polkadot-JS client](https://github.com/polkadot-js/client) - JavaScript를 사용하는 개발자들을 위해서 구현된 다른 클라이언트. + +[Polkadot-JS](https://polkadot.js.org)의 문서들은 폴카닷을 좀 더 깊이 이해하는데 좋은 시작 포인트라고 할 수 있습니다. + +로컬 노드(local node)를 설정하고 작동시키면 [Polkadot 익스플로러](https://polkadot.js.org/apps/#/explorer)를 통해 인터렉션 할 수 있습니다. + +### 라이브러리들 (Libraries) + +### Polkadot-JS Common + +Polkadot-JS Common은 @polkadot 네임 스페이스 내의 모든 프로젝트에서 사용하는 다양하고 유용한 유틸리티 기능을 제공합니다. 그리고 다음과 같은 여러가지 내부 유틸리티 패키지로 분할됩니다. 문서 및 사용법은 [Polkadot-JS / Common API 문서 링크](https://polkadot.js.org/common/)를 참고하세요. + +- [@polkadot/keyring](https://polkadot.js.org/common/keyring/) JavaScript로 계정을 생성/로드하거나, 지갑을 만드는데 도움이 되거나 또는 유저가 체인에 무언가 쓸(Write) 필요가 있는 애플리케이션에 도움이 되는 툴 입니다. [관련 예시 참고 링크](https://polkadot.js.org/common/examples/keyring/) +- [@polkadot/util](https://polkadot.js.org/common/util/) 문자열 (String)이 Hex 인코딩이 되었는지 등을 확인 할 때 쓰는 유용한 유틸리티. +- [@polkadot/util-crypto](https://polkadot.js.org/common/util-crypto/) Polkadot로 개발하는 동안 유용하게 사용할 수있는 암호 유틸리티. + +#### Bonds oo7 + +- [oo7-polkadot](https://github.com/polkadot-js/oo7-polkadot) Polkadot의 bonds 라이브러리. [oo7 API 문서](https://paritytech.github.io/oo7/) + +### CLI Tools + +- [@polkadot/api-cli](https://github.com/polkadot-js/tools/tree/master/packages/api-cli) Polkadot API를 위한 단순한 CLI(commandline interface). [참고문서](https://polkadot.js.org/api/api/) +- [@polkadot/monitor-rpc](https://github.com/polkadot-js/tools/tree/master/packages/monitor-rpc) Polkadot의 RPC 모니터. RPC tool 과 관련해서는 아래의 추가 정보를 확인하세요. + +### RPC 도구들(tools) + +- [@polkadot/api/rpc-provider](https://github.com/polkadot-js/api/tree/master/packages/rpc-provider) - 노드들이 JS 도구를 사용해서 RPC를 통해 어떻게 인터랙션 하는지 보여줍니다. +- [RPC documentation](https://polkadot.js.org/api/METHODS_RPC.html) - 섭스트레이트 RPC 엔드포인트 관련 문서들. diff --git a/docs/lang/korean/build/tools/subkey.md b/docs/lang/korean/build/tools/subkey.md new file mode 100644 index 00000000..b9b0514d --- /dev/null +++ b/docs/lang/korean/build/tools/subkey.md @@ -0,0 +1,55 @@ +# 서브키(Subkey) + +서브키(subkey, 이하 subkey로 통일 - 역자 주)는 서브스트레이트(Substrate)가 생성한 키(key)나 복원된 서브스트레이트 키(Key)가 포함 되어 있는 커맨드리인 유틸리티입니다. + +`subkey` 는 [sr25519](http://wiki.polkadot.network/en/latest/polkadot/learn/cryptography/#keypairs-and-signing) 암호를 기본적으로 사용 할 것입니다.이전 ed25519 암호화를 사용하여 키를 생성하거나 복원해야 할 경우`--ed25519` 플래그를 커맨드에 입력하세요. + +## 사용방법 (Usage) + +### 무작위 계정 생성하기 (Generate a random account) + +```bash +subkey generate +``` + +새 계정의 니모닉(mnemonic phrase)과 시드, 공개 키 및 주소를 제공합니다. 어떤 누구에게도 당신의 니모닉이나 시드를 공유하지 마세요. 만약 공유한다면 당신의 자산에 접속 할 수 있게 됩니다. 누군가 당신에게 이체를 하고 있다면 **Address** 만 필요합니다. + +### Key 검사하기(Inspecting a key) + +주어진 URI (니모닉, 시드, 공개키 또는 address)를 검사할 수 있고 공개키와 address를 복원할 수 있습니다. + +```bash +subkey inspect + +OUTPUT: + Public key (hex): 0x461edcf1ba99e43f50dec4bdeb3d1a2cf521ad7c3cd0eeee5cd3314e50fd424c + Address (SS58): 5DeeNqcAcaHDSed2HYnqMDK7JHcvxZ5QUE9EKmjc5snvU6wF +``` + +### 서명하기 (Signing) + +`subkey`는 STDIN에서 오는 메시지를 기다립니다. 메시지에 서명하는 한 가지 방법은 다음과 같습니다. + +```bash +echo | subkey sign + +OUTPUT: +a69da4a6ccbf81dbbbfad235fa12cf8528c18012b991ae89214de8d20d29c1280576ced6eb38b7406d1b7e03231df6dd4a5257546ddad13259356e1c3adfb509 +``` + +### 서명 증명하기 (Verifying a signature) + +```bash +echo | subkey verify
+ +OUTPUT: +Signature verifies correctly. +``` + +### vanity generator 사용하기 + +Vanity generator를 사용하여 사용자가 원하는 패턴을 가진 address를 주는 시드를 찾을 수 있습니다. 그러나 하드웨어에 따라 다소 시간이 걸릴 수 있습니다. + +```bash +subkey vanity 1337 +``` diff --git a/docs/lang/korean/index.md b/docs/lang/korean/index.md new file mode 100644 index 00000000..ae21dc0c --- /dev/null +++ b/docs/lang/korean/index.md @@ -0,0 +1,27 @@ +# 폴카닷 위키(Polkadot Wiki) + + + +폴카닷 위키에 오신것을 환영합니다. 여기에서 폴카닷 프로토콜에 대해서 배우고 노드를 구동시켜보고 네트워크를 만들어 볼 수 있습니다. +폴카닷에 대한 소개글을 찾으신다면 [이 링크](./polkadot/learn/introduction_KR.md)를 참고하세요. + +## 좀 더 자료가 필요하시다면 + +- [위키 돌아다녀 보기](./polkadot/learn/index_KR.md) - 위키의 정보 섹션을 읽어보세요. +- [관련된 링크들](./polkadot/learn/relevant-links-KR.md) - **폴카닷 과 관련된 전반적인 모든 링크들.** + +## 폴카닷 위에서 구현해보고 싶으신 것이 있다면 + +- [Builders Portal](./polkadot/build) - build하는데 도움을 줄 도구와 라이브러리들. +- [스타터 가이드](./polkadot/build/build-with-polkadot_KR.md) - **Polkadot에서 어떻게 프로젝트를 시작할것인가에 대한 전체적인 개요들.** + +## 노드 구동을 하고 싶다면 + +- [노드 구동하기](./polkadot/node/) - Polkadot network에서 노드를 구동 할 때 필요한 정보들. + +## Resources + +- [Community / Ecosystem](./community.md) - Polkadot과 관련된 커뮤니티 들과 채널들. +- [News](./news.md) - Polkadot의 핫한 주간 뉴스들. 매주 발행됩니다. +- [Sample Applications](./polkadot/build/examples/) - Polkadot에서 구현되고 있거나 이미 구현된 샘플 어플리케이션들 +- [Contributing Guide](./contributing.md) - wiki에 기여하기 위해 필요한 규칙들 diff --git a/docs/news.md b/docs/news.md index 290ba735..7282778a 100644 --- a/docs/news.md +++ b/docs/news.md @@ -8,9 +8,9 @@ This Week in Polkadot is a weekly aggregation of the top news in the Polkadot sp - [This Week in Polkadot 9](https://www.reddit.com/r/dot/comments/bj3mvo/this_week_in_polkadot/) - April 30, 2019 - [This Week in Polkadot 8](https://www.reddit.com/r/dot/comments/bgkjhj/this_week_in_polkadot/) - April 23, 2019 - [This Week in Polkadot 7](https://www.reddit.com/r/dot/comments/bdyg5w/this_week_in_polkadot/) - April 16, 2019 -- [This Week in Polkadot 6](https://www.reddit.com/r/dot/comments/bayezl/this_week_in_polkadot/) - April 8, 2019 +- [This Week in Polkadot 6](https://www.reddit.com/r/dot/comments/bayezl/this_week_in_polkadot/) - April 8, 2019 - [This Week in Polkadot 5](https://www.reddit.com/r/dot/comments/b87807/this_week_in_polkadot/) - April 1, 2019 -- [This Week in Polkadot 4](https://www.reddit.com/r/dot/comments/b532hl/this_week_in_polkadot/) - March 25, 2019 +- [This Week in Polkadot 4](https://www.reddit.com/r/dot/comments/b532hl/this_week_in_polkadot/) - March 25, 2019 - [This Week in Polkadot 3](https://www.reddit.com/r/dot/comments/b1ja5z/this_week_in_rdot_march_15_2019/) - March 15, 2019 - [This Week in Polkadot 2](https://www.reddit.com/r/dot/comments/av73tg/this_week_in_rdot_february_26_2019_week_2/) - February 26, 2019 -- [This Week in Polkadot](https://www.reddit.com/r/dot/comments/as39xj/this_week_in_rdot_february_18_2019/) - February 18, 2019 +- [This Week in Polkadot](https://www.reddit.com/r/dot/comments/as39xj/this_week_in_rdot_february_18_2019/) - February 18, 2019 \ No newline at end of file diff --git a/docs/polkadot/learn/implementations_KR.md b/docs/polkadot/learn/implementations_KR.md new file mode 100644 index 00000000..e2801882 --- /dev/null +++ b/docs/polkadot/learn/implementations_KR.md @@ -0,0 +1,20 @@ +# Polkadot 구현체들 (Implementations) + +Rust, C++, Go, JavaScript로 개발중인 Polkadot 구현체들이 아래와 같이 있습니다. + +[**Polkadot**](https://github.com/paritytech/polkadot) - Parity Technologies 에서 개발중인 [Substrate](https://github.com/paritytech/substrate)와 협력해서 구현중인 Rust client. + +[**Kagome**](https://github.com/soramitsu/kagome) -[Soramitsu](https://github.com/soramitsu)가 C++로 개발중인 Polkadot 런타임 환경(Polkadot Runtime Enviroment), [Soramitsu](https://github.com/soramitsu)는 일본 디지털 신원 개발사로서 이전에 [Hyperledger Iroha](https://iroha.tech)를 개발 했습니다. They were awarded a grant from the Web3재단에서 개발 지원금을 받았고 Kagome를 [2019년 8월까지 릴리즈](https://medium.com/web3foundation/w3f-grants-soramitsu-to-implement-polkadot-runtime-environment-in-c-cf3baa08cbe6) 할 계획입니다. libp2p 네트워킹 레이어를 C++로 개발중입니다. +[**Gossamer**](https://github.com/ChainSafeSystems/gossamer) - A Go implementation being built by [ChainSafe Systems](https://github.com/ChainSafeSystems)가 개발중인 Golang 구현체, 토론토에 23명의 개발팀이 있으며 Eth2.0 Serenity client도 개발중입니다. [개발지원금에 대한 발표](https://medium.com/web3foundation/w3f-grants-chainsafe-to-implement-polkadot-runtime-environment-in-go-ca4973c9edaf). + +polkadot runtime environment + +[**Golkadot**](https://github.com/opennetsys/golkadot) - Open Network Systems가 개발중인 Polkadot Substrate Golang 구현체 + +[**Polkadot-JS**](https://github.com/polkadot-js) - [Polkadot JS](https://polkadot.js.org/)가 개발한 [자바스크립트 클라이언트 (Javascript client](https://github.com/polkadot-js/client) 와 툴 모음들. + +## 왜 중복된 구현체를 만드나요? + +Soramitsu의 개발 지원금 발표 중에서 : + +> 분산화, 지식 확산 및 프로토콜의 더 나은 정의를 비롯한 여러 가지 이유로 Polkadot 프로토콜을 여러 번 구현하는 것은 매우 중요합니다. Polkadot의 여러 구현은 네트워크의 회복력을 좀 더 낫게 하고 네트워크의 분산화를 촉진시킵니다. 네트워크에서 노드를 실행하는 클라이언트를 여러 팀이 만든다면 네트워크 관리가 더욱 민주화됩니다. \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index c5886be2..86d372db 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -60,6 +60,7 @@ nav: - Other Languages: - Chinese: lang/chinese/index.md - Japanese: lang/japanese.md + - Korean: lang/korean/index.md - News: news.md # Configuration for the Material theme