Skip to content
This repository has been archived by the owner on Sep 27, 2019. It is now read-only.

Polkadot-wiki korean build directory translation #221

Open
wants to merge 13 commits into
base: master
Choose a base branch
from
172 changes: 172 additions & 0 deletions docs/lang/korean/build/build-with-polkadot.md

Large diffs are not rendered by default.

29 changes: 29 additions & 0 deletions docs/lang/korean/build/cumulus.md
Original file line number Diff line number Diff line change
@@ -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)
88 changes: 88 additions & 0 deletions docs/lang/korean/build/deploy-parachains.md
Original file line number Diff line number Diff line change
@@ -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_
47 changes: 47 additions & 0 deletions docs/lang/korean/build/dev-roadmap.md
Original file line number Diff line number Diff line change
@@ -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)의 개선
33 changes: 33 additions & 0 deletions docs/lang/korean/build/examples/index.md
Original file line number Diff line number Diff line change
@@ -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)
39 changes: 39 additions & 0 deletions docs/lang/korean/build/extrinsic-format.md
Original file line number Diff line number Diff line change
@@ -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)
59 changes: 59 additions & 0 deletions docs/lang/korean/build/hackathon.md
Original file line number Diff line number Diff line change
@@ -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:[email protected]))이나 [Riot](https://riot.im/app/#/room/#polkadot-watercooler:matrix.org)으로 연락해 주세요.
36 changes: 36 additions & 0 deletions docs/lang/korean/build/index.md
Original file line number Diff line number Diff line change
@@ -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._
Loading