블로그
Polkadot
2019 / 10 / 08
우리는 이전에 블록체인 채택과 혁신을 방해하는 가장 중요한 문제를 해결함으로써 폴카닷이 개발자들에게 매력적이라고 판단하는 주요 근거를 개략적으로 설명했습니다. 이 블로그 게시물에서는 개발자들이 폴카닷의 출시를 가장 잘 준비할 수 있도록 도와줄 여러 가지 제안을 안내할 예정입니다.
우리는 개발자들이 이미 익숙한 기술 및 언어로 계속 작업을 계속 할 수 있다고 생각합니다. 개발가능성에 대한 우리 목표는 분산형 기술을 구축하는 데 가능한 많은 장벽을 제거하는 것이지만, 궁극적으로는 Wasm으로 컴파일하는 언어로 작업하는 것이 더 낫습니다. 그 이유는 이 블로그 게시물에서 설명할 것입니다.
우리는 오늘 1)분산형 애플리케이션(DApp)이 폴카닷 플랫폼에 탑재될 수 있는 개발경로, 2)개발자가 폴카닷 멀티체인 환경에 참여할 수 있는 완전한 기능을 갖춘 파라체인을 구축하는 방법에 대한 소개로 구성된 두 가지 주제를 다룰 것입니다.
폴카닷에 스마트 계약을 배치하려는 DApp 개발자는 폴카닷에 튜링 완전한 상태 머신을 가진 파라체인이 나올 것이므로 파라체인을 직접 구축할 필요가 없습니다. 파라체인 개발에 관심이 있다면 구현해야 할 사항, 구현하는 데 사용할 사항, 구현된 후에 할 수 있는 작업에 대해 알아볼 수 있습니다.
폴카닷을 위한 DApp 및 파라체인 구축
이 시점에서 개발자들은 아마도 “폴카닷의 출시를 준비하기 위해 우리가 할 수 있는 일이 없을까?”라고 질문할 수 있습니다.
대답은 “Yes”입니다.
우리는 폴카닷 파라체인을 활용해 DApp을 구축하거나 새로운 파라체인을 구축하는 데 관심이 있는 팀들을 만나고 싶습니다. 우리가 추천하는 것은 Wasm에 컴파일하는 언어로 스마트 컨트랙트와 파라체인 런타임을 작성하는 것입니다.
개발자들이 계속해서 솔리디티를 사용하여 스마트 컨트랙트를 작성할 수 있도록 EVM 기반의 파라 체인을 보유할 가능성이 있습니다. 다만 이더리움은 샤딩이 구현되면 Wasm으로 이전할 예정이어서 추천하지 않습니다. 다행히 솔리디티를 Wasm으로 컴파일하는 Yul(이전 Julia)이라는 도구가 만들어지고 있습니다.
이는 장기적으로 Wasm이 블록체인 개발에서 자연스러운 언어로 선택될 것으로 예상하며 개발자들이 Wasm 스마트 컨트랙트에 대한 연구에 나서야 한다는 의견이 나오는 이유입니다. Wasm에 대한 자세한 내용은 패리티의 Wasm에 대한 설명과 Wasm으로 스마트 계약 작성하기에 대한 소개를 참조하십시오.
폴카닷 기반의 DApps
최종적으로 Polkadot에 배포될 DApp을 생성하기 위한 두 가지 주요 개발 경로가 있습니다. (1)Wasm으로 작성하여 네이티브 파라체인으로 구동시키는 것, (2)EVM 기반 체인에 솔리디티를 사용하여 DApp을 배포하는 것입니다. 후자는 현재 사용 가능한 툴링으로 작업하기 원하는 개발자들에게는 매력적일 것이지만, 장기적으로 Wasm으로 전환하는 것이 더 나을 것입니다.
옵션(1)을 따른다면 향후 출시될 파라체인을 준비하는 것입니다. Wasm에서 DApp을 작성하고 테스트하여 Kovan 또는 자체 구축된 PoA 네트워크에서 테스트할 수 있습니다. 패리티의 프레드릭 해리슨(Fredrik Harrysson)은 EthCC에서 Kovan에 WASM 으로 Rust 컨트랙트를 실행하는 방법을 설명하였습니다. 우리는 Wasm 스마트 컨트랙트를 둘러싼 제한된 툴링이 테스트를 더욱 어렵게 만들 수 있다는 점에 주목할 필요가 있습니다. 자세한 내용은 Wasm VM 및 스마트 계약을 다룬 패리티의 블로그 게시물에서 확인할 수 있습니다.
개발자가 옵션 (2)를 따르고 솔리디티에서 DApp을 계속 작성하기를 원하는 경우, 위의 제안 사항을 미러링하는 것이 좋습니다. 그러나, 개발자는 데이터 흐름을 테스트하고 일정 수준의 확장성을 갖고 작동하는 제품을 EVM 기반의 PoA 체인에 배치할 수 있습니다. 이더리움이 폴카닷에 연결되면 스케일링과 크로스체인 메시징 등 기존 디앱이 제공하는 새로운 기능의 이점을 얻습니다.
PoA 체인을 설정하는 것은 간단하고 여러 튜토리얼이 이미 존재하며 결국 이들은 제네시스 블록이 생성되고 나서 폴카닷에 연결할 수 있습니다 (2019년 3분기 예상). Wasm에 대한 추세가 계속되고 이더리움이 샤딩을 성공적으로 구현했다고 가정하면 Wasm을 기본 언어로 사용하는 것이 좋습니다.
액션 플랜은 다음과 같습니다.
브리지는 독립 실행형 체인을 Polkadot에 연결하는 메시지 전달 기능을 제공합니다. 이 플랫폼에서 앞으로 다양한 유형의 체인이 연결될 것입니다.
파라체인 구축하기
파라체인은 백서에서 처음 언급되었으며 “Polkadot : The Parachain“이라는 제목으로 이전 블로그 게시물에서 자세히 다루었습니다.
“파라체인 (병렬할 수 있는 체인)은 그 자체를 제공하는 것이 아닌, ‘릴레이 체인’이 제공하는 보안으로 연결되는 더 단순한 형태의 블록체인입니다. 릴레이 체인은 연결된 파라체인에 보안을 [제공하며] 또한 그들 사이의 안전한 메시지 전달을 보장합니다.”
폴카닷 고유의 파라체인을 생성하려면 서브스트레이트(Substrate)를 이해해야합니다. 자세한 내용은 Event Horizon에서 개빈 우드 박사(Dr. Gavin Wood)의 프레젠테이션과 Polkadot GitHub의 Substrate 하위 디렉터리에서 확인할 수 있습니다.
폴카닷의 멀티 체인 아키텍처 디자인을 통해 개발자는 파라체인의 유효성 개념을 지정할 수 있습니다. 파라체인을 구현하려면 개발자는 상태 전환 유효성 검사 기능을 구현하고 상태 포맷을 결정하고 트랜잭션 풀링 메커니즘을 결정해야합니다. 파라체인을 구현하고 나서는 이를 폴카닷과 통합하는 데 몇 가지 추가 단계가 필요합니다. 이를 위해 상태 전환 유효성 검사 기능을 릴레이 체인에 배포하고 트랜잭션 풀링 메커니즘을 포함하는 콜레이터(대조) 노드 클라이언트를 배포해야 합니다.
이러한 모든 조각을 구성하려면 콜레이터 노드가 체인의 블록을 어떻게 구성해야 하는지, 그리고 검증자 노드에서 이러한 블록의 유효성을 확인하고 검증할 수 있는 방법을 생각해야 합니다. 여기에는 두 가지 옵션이 있습니다. (1)콜레이터 노드를 처음부터 작성거나 (2) 다른 종류의 상태 시스템을 실행할 수 있는 셸 콜레이터 노드를 사용합니다. 더 많은 PoC가 출시됨에 따라 세부 정보가 제공될 것이지만, 현 작성 시점에서는 콜레이터 노드를 작성할 수 있는 스펙이 없습니다.
한 가지 요구사항은 상태 머신이 Wasm에 컴파일되는 언어로 작성된다는 것입니다. 이는 런타임에 대한 즉각적인 업데이트같은 뛰어난 유연성을 보장하는 선택 디자인입니다. 연구가 진행되며 파라체인은 샤딩과 같은 최신 기술을 구현하도록 쉽게 업그레이드할 수 있습니다.
우리는 인기있는 파라체인의 코드가 다른 체인에서 복사 및 재사용 될 것이며 심지어 독립형 블록 체인에서도 사용될 것으로 기대합니다. Web3 재단은 개발자가 블록 탐색기, 지갑, 릴레이 노드의 대체 구현 및 콜레이터 노드 등 폴카닷의 성공에 중요한 기타 일반 구성 요소의 전체 호스팅 및 파라체인을 생성하도록 시작하도록 초대합니다. Riot으로 연락하여 팀원과 소통해보세요.
미래를 내다보며
폴카닷이 출시되면 개발자들에게 제공되는 이점은 매우 매력적일 것입니이다. 블록체인과 파라체인 간의 상호운용성, 확장성 증가, 수많은 실행 효율성으로 인한 속도 증가, 동적 온체인 거버넌스 시스템 등 폴카닷 플랫폼에서 개발하기를 고려해야 할 이유는 매우 많습니다.
이 블로그 게시물이 이더리움에 이미 DApp을 구축했거나 폴카닷을 기반으로 구축하려는 개발자에게 필요한 마이그레이션 추가 정보를 제공하기를 바랍니다!
우리는 2019년 3분기까지 네트워크를 시작할 예정입니다. 우리가 향후 개념 증명과 테스트넷으로 나아가면서, 우리는 커뮤니티 구성원들이 프로젝트를 진전시키고 폴카닷 네트워크를 활성화하는 데 동참할 것을 권장합니다.
폴카닷 코드를 다운로드하여 컴파일하고 글로벌 테스트넷에 연결할 모든 사용자를 초대합니다. 설치 후 Riot의 채팅 채널에 테스트넷 DOT를 요청하십시오.
Happy BUIDLing!
출처: https://medium.com/polkadot-network/preparing-to-build-on-polkadot-349ff5002885