2020년 10월 20일, Cryptogeek은 [Polkadot 생태 시리즈 공유 세션]의 첫 번째 단계를 시작했습니다. Parity Asia의 기술 이사인 Jia Yaoqi 박사를 크립토 괴짜 라이브 방송실의 게스트로 초대하여 "Polkadot을 기반으로 블록체인 프로젝트를 개발하는 방법"을 설명하게 되어 매우 영광입니다.
보조 제목
연설 세션
1. Polkadot에서 블록체인 시스템을 개발하는 방법은 무엇입니까?
그림 1
그림 1
그림 1을 보시면 됩니다. 사실 처음부터 블록체인을 개발하려면 데이터베이스 수식 알고리즘뿐만 아니라 다양한 트랜잭션 처리와 관련된 변환 함수도 고려해야 합니다. 동시에 영지식 증명과 같은 좀 더 복잡하거나 고급 논리를 추가하려면 개발 영역을 연결할 때 이러한 더 복잡한 알고리즘과 기능을 추가해야 합니다.
그러면 퍼블릭 체인 기술이든 2차 개발을 위한 제휴 체인 기술이든 우리가 이미 가지고 있는 것을 어떻게 사용하는지 모두가 실제로 생각할 것입니다. 실제로 지난 10년 동안, 특히 2009년 비트코인 백서 출시와 2015년 이더리움 시스템 출시 이후 블록체인이 결제 수단으로 사용될 수 있을 뿐만 아니라 it.스마트 계약. 그럼 비트코인을 기반으로 2차 개발을 하는 개발자들도 많고 이 utxo 모델과 같은 흥미로운 블록체인 시스템도 있고 이더리움을 기반으로 약간의 조정을 하기도 하지만 이것들은 기존의 블록체인을 기반으로 2차 개발을 하기 위한 2차 개발을 위해 개발되었습니다. 일부 새로운 체인과 같은 시스템을 생성합니다.그들의 가장 큰 문제는 비트코인이나 이더리움과 같은 초기 프로젝트로 인해 상대적으로 좋은 개발 프레임워크를 가지고 있다는 것입니다.사실 모두가 소스 코드를 기반으로 변경이 이루어지며 소스 코드에 대한 이해도가 상대적으로 높은 개발자 동시에 이러한 소스 코드는 프레임워크로 모듈화가 잘 되어 있지 않기 때문에 개발이 현실적으로 매우 어렵습니다.
그림 2
그림 2
Polkadot은 크로스체인 프로젝트이기 때문에 개발자가 자신의 블록체인 시스템을 더 빠르게 개발할 수 있도록 돕기 위해 Substrate와 같은 일련의 프레임워크를 개발하여 개발자가 이러한 관련 블록을 개발할 수 있도록 합니다. 체인 시스템, 우리는 이를 병렬 체인이라고 합니다. . Substrate에는 데이터베이스 계층, 네트워크 계층 및 플러그형 합의 프로토콜과 같이 방금 언급한 블록체인의 많은 핵심 구성 요소가 실제로 포함되어 있음을 알 수 있습니다.
이미지 3
이미지 3
그림 4
그림 4
실제로 Polkadot의 parachain 또는 parathread가 되는 것 외에도 독립적인 체인으로 직접 배포할 수도 있습니다. 특히 고유한 국내 환경에서 Substrate를 사용하여 이러한 종류의 비즈니스 논리에 해당하는 자체 제휴 체인 또는 개인 체인을 구축할 수 있을 뿐만 아니라 상대적으로 높은 처리량 요구 사항이 있는 일부는 특정 응용 프로그램을 대상으로 할 수 있습니다. 혼자 게임으로 체인을 구축하고 자신의 해당 환경에 배포 물론 기판에서 개발할 때 더 유리합니다 3년 후에 전체 Polkadot 생태계가 성장하고 개발자가 성장한 것을 이 수치에서 볼 수 있습니다. Substrate를 위한 많은 개발 생태계와 도구가 있습니다. Polkadot-js를 사용할 수 있습니다. 물론 더 나은 블록 브라우저가 내장되어 있습니다. Parity Signer와 같은 오프라인 하드웨어 지갑을 사용할 수도 있습니다. .
그림 5
그림 5
그림 6
그림 6
그렇다면 개발을 위해 이런 종류의 기판 런타임이 필요합니다. 그림 6에서 볼 수 있듯이 Substrate는 일반적인 스마트 계약 개발과 다르기 때문에 이러한 개발 정책 중 일부를 기억해야 합니다. 예를 들어 첫 번째 포인트는 Substrate Runtime에서 extrinsic을 보내거나 트랜잭션으로 취급하면 트랜잭션을 보낼 때 트랜잭션에 문제가 있으면 트랜잭션이 상태 변경에 응답하지 않습니다. 밖으로.
그러면 이더리움에서 견고성이 개발되면 트랜잭션 실행에 실패하면 실제로 상태가 롤백됩니다. 이를 위해서는 Substrate 런타임을 개발할 때 그의 논리를 먼저 확인하는 것이 가장 좋습니다. 그런 다음 작성하십시오.
그림 7
그림 7
이러한 종류의 트레이트에 대해 다른 관련 트레이트를 인용하자면 전체 Substrate가 Rust로 작성되었기 때문에 일부 트레이트도 사용됩니다. 인터넷에서 Rust 관련 과정을 듣거나 Substrate 과정에 참여하면 Rust와 관련된 몇 가지 기본 사항을 소개합니다. 그러면 storage와 마찬가지로 실제로는 비교적 간단한 타입과 가장 간단한 메소드가 있음을 알 수 있습니다. , 이러한 작업을 수행합니다. 동시에 우리가 스마트 컨트랙트를 작성할 때와 유사한데, 어떤 연산을 할 때 이벤트가 발생하거나 전송되어야 하므로 여기서도 이벤트를 정의할 수 있습니다.
물론 여기 decl_module이라는 또 다른 곳이 있는데 실제로 해당 런타임 기능을 정의하는 곳입니다.마지막에 Substrate.dev라는 웹 사이트에 많은 종류의 자습서가 있음을 언급하겠습니다.자습서에 따라 배울 수 있습니다. 상대적으로 간단한 예제를 통해 이러한 모듈에 해당하는 이벤트 저장소 및 기능을 정의하는 방법, 해당 런타임 및 해당 정의 및 로직 작동을 완료하는 방법을 자세히 학습합니다.
4. Substrate 애플리케이션 체인과 스마트 계약의 차이점은 무엇입니까?
그림 8
그림 8
스마트 컨트랙트, 특히 이더리움에서 솔리디티와 같은 스마트 컨트랙트를 작성하는 것은 종종 솔리디티와 이더리움 자체의 한계-낮은 저장 용량과 높은 취급 수수료 등으로 인한 것임과 동시에 솔리디티 자체와 마찬가지로 또한 많은 제한 사항이 있으며 정수만 더 자주 연산할 수 있습니다.
이것이 이더리움에서 인기 있는 응용 프로그램이 모두 광범위한 Web3.0이 아닌 토큰과 관련된 이유입니다.
개발용으로 Substrate를 사용하면 그런 문제가 없습니다.
Substrate를 사용하여 개발할 때 전체 체인은 개발자가 제어하기 때문입니다. 따라서 온체인 또는 오프체인 데이터든 Solidity에 없는 일부 해당 인터페이스든 개발할 때 Substrate가 하나를 제공할 수 있습니다.
또한 Substrate 자체의 처리량이 상대적으로 높기 때문에 응용 프로그램에 트랜잭션 및 논리 처리를 위한 더 많은 공간을 제공할 수 있습니다.
동시에 Substrate 자체는 오프체인 작업자를 제공하여 Substrate 애플리케이션 개발 개발자가 관련 오프체인 데이터를 더 빠르게 처리하고 오프체인 데이터의 온체인 처리를 실현하여 온체인을 열도록 도울 수 있습니다. 그리고 오프체인.
5. 포크 없이 원활한 온체인 업그레이드
블록체인 산업에 익숙한 친구들은 과거에 일부 제휴 체인 프로젝트를 포함한 모든 퍼블릭 체인 프로젝트가 업그레이드하려면 하드 포크가 필요하다는 것을 알고 있습니다. 비트코인, 특히 이더리움처럼요. 2016년 "The DAO" 사건으로 인해 채굴자들의 의견 차이로 인해 클래식 이더리움이 마침내 이더리움에서 분리되었다는 것은 누구나 알고 있습니다.
체인 관련 업그레이드를 수행하는 이유는 무엇입니까? 이것은 실제로 컴퓨터 또는 프로그래밍 산업과 관련이 있습니다.
모든 사람은 실제로 이러한 현상을 기본으로 합니다. 어떤 프로그래머도 허점 없이 코드를 작성할 수 없습니다.
기존 애플리케이션, 블록체인 애플리케이션 또는 스마트 계약을 작성하든 상관 없습니다. 일반적으로 더 많은 코드를 작성할수록 더 많은 보안 구멍이 생길 수 있습니다.
지난 몇 년을 돌아보면 DEFI든 체인 자체든 많은 허점을 발견하여 많은 사용자에게 다양한 재산 손실을 입혔습니다.
이로 인해 스마트 계약의 업그레이드이든 체인 자체의 업그레이드이든 블록체인 자체에 더 나은 업그레이드가 필요합니다.
그러나 이러한 종류의 하드포크를 자주 사용하여 업그레이드하면 우선 시간을 따라잡지 못할 것입니다. 그런 다음 일정 기간 내에 모든 사람이 함께 이러한 버전으로 업그레이드하고 마지막으로 이전 체인에서 새 체인으로 전환하는 것이 이러한 논리입니다.
그러나 하드 포크로 인해 이 업그레이드 모드는 매우 비용이 많이 들고 여러 번 자신의 체인이 다른 체인에서 분기될 수 있습니다.
그런 다음 Substrate와 같은 것이 원활한 온체인 업그레이드를 제공합니다. 사실 개발자에 해당하는 런타임을 체인에 제출한 다음 체인에서 검증인에게 투표하는 것인데, 이것이 실제로 체인에 대한 거버넌스와 관련이 있음을 알 수 있습니다.
체인에 대한 투표가 완료된 후 대다수의 사람들이 해당 업그레이드를 수행하는 데 동의하면 개발자가 제출한 런타임이 해당 업그레이드를 위해 전체 체인의 런타임에 기록됩니다.
이러한 포크 없는 체인 업그레이드를 통해 블록체인 개발자가 더 안심하고 자체 블록체인을 실행할 수 있습니다.
이미지 설명
그림 9
6. 오프체인 작업자
체인링크와 같은 이더리움에 다양한 오라클 머신이 있다는 것은 누구나 알고 있습니다.
지난 6개월 동안 오라클 머신은 다양한 사람들의 관심을 끌었습니다.
이더리움 자체는 체인 안팎의 채널을 열 수 없기 때문에 온체인이 다양한 토큰 가격과 같은 오프체인 데이터를 얻으려면 데이터를 체인으로 보낼 수 있는 이런 종류의 오라클 머신이 필요합니다.
이미지 설명
그림 10
그런 다음 이러한 체인의 검증 노드는 체인 데이터를 직접 처리할 수 있습니다.
앞으로는 처리 결과에 대한 합의를 형성할 수 있습니다. 예를 들어 체인에서 오프 체인 정보를 더 빠르고 편리하게 얻을 수 있고 관련 계산을 수행할 수 있습니다.
Polkadot 또는 Substrate에 해당하는 생태에서는 이러한 별도의 오라클이 필요하지 않습니다. 해당 오프 체인 작업 기계의 인터페이스가 잘 작성되었기 때문입니다.
동시에 해당 시나리오도 볼 수 있습니다. 방금 언급한 오프체인 데이터 외에도 오프체인 작업 기계를 사용하는 몇 가지 시나리오가 있습니다.
예를 들어 상대적으로 규모가 큰 일부 계산의 경우 오프체인 작업자를 사용하여 결과를 완성한 다음 결과를 해당하는 온체인 검증자에게 반환할 수 있습니다.
이미지 설명
그림 11
7. Polkadot에 더 잘 액세스하는 방법은 무엇입니까?
이전에 Polkadot이 개발을 위해 Substrate를 사용하는 방법, Substrate로 작성된 런타임이 어떻게 생겼는지, 개발을 위한 Substrate의 장점과 같은 몇 가지 주제에 대해 이야기했습니다.
그런 다음 다음 사항도 알고 싶을 수 있습니다. 블록체인 시스템을 개발하는 데 Substrate를 사용하는 경우 Polkadot에 더 잘 액세스할 수 있는 방법은 무엇입니까?
실제로 Polkadot에 대한 전체 프레임워크인 그림 12를 살펴볼 수 있습니다.
이미지 설명
그림 12
다른 체인이 릴레이 체인에 연결된 경우 릴레이 체인에 병렬 링크로 연결됩니다.
비트코인이나 이더리움과 같은 상대적으로 큰 블록체인 시스템이 Polkadot에 액세스하려면 먼저 브리지를 통해 파라체인에 적응한 다음 파라체인을 통해 다른 파라체인과 통신해야 합니다.
병렬 체인으로서 컨텐츠 또는 블록의 검증은 릴레이 체인의 관련 검증 노드를 통해 수행됩니다.
그러면 모든 사람이 물어볼 것입니다. 파라체인 자체에 필요한 노드는 무엇입니까? 그림에서 언급한 것처럼 collator라는 일종의 노드가 필요하다.
이 노드들은 각 병렬 체인에 해당하는 블록을 수집한 다음 이를 릴레이 체인에서 무작위로 선택한 일부 블록 검증 노드에 제출하는 역할을 합니다. 이 블록 검증 노드는 병렬 체인에서 해당 블록을 검증합니다.
동시에 Substrate를 사용하여 작성된 블록체인에는 Cumulus라는 또 다른 모듈이 필요합니다. Substrate를 사용하여 이 Cumulus를 작성한 다음 약간 개선하고 Cumulus를 사용하여 Parachain에 연결할 수 있습니다.
이미지 설명
그림 13
8. Web3 Foundation은 Polkadot의 생태계 개발을 어떻게 지원합니까?
Polkadot 생태계의 프로젝트는 특히 활발합니다. 재단이든 패리티이든 상관없이 Polkadot 생태 프로젝트에 대한 우리의 지원은 매우 높습니다.
예를 들어, 3월경에 우리는 100개 이상의 해당 Web3 프로젝트와 Web3 펀드 마켓 보조금 지원을 발행했습니다.
동시에 우리는 커뮤니티에서 상대적으로 성숙한 일부 팀을 돕고 기술 및 비즈니스 시장에서 서비스를 제공하는 빌더 프로그램도 가질 것입니다.
이미지 설명
그림 14
아시아나 중국에서는 올해 5월부터 Wanxiang과 협력하여 Web3 교육 캠프를 진행하고 15개 팀을 인큐베이팅한 것을 볼 수 있습니다.
이 15개 팀의 대부분은 관련 테스트 네트워크와 메인 네트워크에 있었습니다. 그렇다면 파이낸싱과 같은 것들도 매우 인기가 있습니다.
또한 앞으로 더 많은 더 나은 팀이 Web3 교육 캠프에 참여할 수 있기를 바랍니다. 우리는 기술, 상업 및 마케팅 관련 지원을 제공합니다.
Substrate를 기반으로 블록체인을 개발하는 팀은 이미 전 세계적으로 100개가 넘습니다.
아시아 팀이나 중국 팀으로서 지난 기간 동안 기판 개발과 관련된 다양한 중국 자료를 제공했음을 알 수 있습니다.
Zhihu 칼럼, Polkadot 공식 계정, Bilibili 라이브 방송을 포함한 온오프라인 활동 등 모든 사람이 Substrate를 검색하거나 커뮤니티를 검색하고 적극적으로 활동에 참여할 수 있습니다.
동시에 우리는 몇 가지 최신 활동도 진행하고 있습니다. 예를 들어 이달 말에 개방성, 오픈 소스 및 상호 연결을 주제로 중국에서 첫 번째 web3 컨퍼런스를 개최할 예정입니다.
이미지 설명
그림 15
관심이 있는 경우 이러한 자습서를 통해 Substrate의 새로운 개발 프레임워크를 경험할 수 있습니다. 체인의 업그레이드이든 체인에서 작동하는 시스템이든 상관 없습니다. 그리고 당신만의 블록체인을 구축하기 위해 우리가 제공하는 다양한 모듈들.
질문 시간
질문 시간
질문 1은 NetEase의 블록체인 혁신 사업 책임자인 Hu Zhimin의 질문입니다.
Hu Zhimin: 개발자로서 Polkadot 생태계에서 Substrate를 기반으로 블록체인 비즈니스를 시작하려면 약간의 창업 자금이 반드시 필요합니다. , 예를 들어 어떤 종류의 프로젝트가 공식 투자를 가능하게 할 것인가?
Jia Yaoqi 박사: Polkadot 생태 및 기계 장비 개발을 위한 관련 프로젝트 및 팀과 관련하여 방금 말씀드린 바와 같이 재단과 패리티 모두 비교적 큰 지원을 제공할 것입니다.
기금 측면에서 재단은 자격에 따라 프로젝트를 평가합니다.
Web3grant라는 프로젝트를 신청할 수 있습니다. 비교적 좋은 일부 프로젝트의 경우 재단에서 미화 약 30,000달러를 지원할 것입니다.
물론 더 복잡한 프로젝트는 더 많은 재정 지원을 제공하지만 검토하는 데 더 오래 걸립니다.
제품 또는 테스트넷이 포함된 상대적으로 성숙한 일부 프로젝트의 경우 일부 성숙하고 관련 프로그램을 신청할 수 있습니다. 예를 들어 빌더 프로그램이나 web3 부트캠프, web3 교육 캠프가 있습니다. 우리는 이러한 프로젝트에 대한 기술 시장 및 비즈니스 관련 지침과 지원을 제공할 것입니다.
동시에 우리는 관련 투자자 또는 Polkadot 생태계에서 더 활발한 국내외 투자자와 연락하여 이러한 프로젝트를 관찰하고 관련 투자를 할 수 있도록 도울 것입니다.
질문 2와 3은 베이징 대학교를 졸업하고 프로그램 개발 경력이 12년인 Coinversation 코드 기여자인 Qing Huan이 제공합니다.
두 번째 질문
Qing Huan: 파라체인이 개발되면 카드 슬롯에 대한 후속 병렬 링크의 비용은 얼마입니까?
Jia Yaoqi 박사: 첫 번째 질문으로 파라체인이 개발되면 슬롯 비용은 얼마입니까? 현재로서는 명확한 계산이 없습니다. 예를 들어 슬롯을 얻을 수 있는 도트 수입니다. 그러나 현재 상황에 관한 한-우리 슬롯은 직접 사고 파는 것이 아니라 사용자가 해당 점을 잠그도록 요구하기 때문에-사실 우리는 여전히 다른 팀이 자체 커뮤니티를 더 잘 개발하도록 권장합니다. 우리는 크라우드 펀딩을 사용하거나 자체 파라체인과 같은 수익성을 개발한 다음 자체 수익에서 얻은 자금을 사용하여 슬롯 경매를 수행할 수 있습니다.
세 번째 질문
Qing Huan: Coinversation은 ink! 스마트 계약 개발 프로젝트를 사용합니다. 현재 개발 도구에서 스마트 계약 테스트, 배포까지 비교적 번거롭습니다. 앞으로 이러한 개발의 문턱을 어떻게 낮출 수 있습니까?
Jia Yaoqi 박사: 잉크!는 현재 제3판으로 자세한 내용을 확인할 수 있습니다.
ink! 관련 개발, 개발된 모듈 및 관련 구성 요소와 관련하여 더 많은 개발자가 ink! 기술을 개발에 더 잘 사용할 수 있도록 점진적으로 개발하고 개선하고 있습니다.
현재 귀하가 옳습니다. 일부 개발 도구가 제자리에 있지 않을 수 있습니다. 그러나 Web3 Foundation은 일부 개발 도구 팀에 remix와 유사한 Ide를 제공하여 개발자가 개발에 ink!를 사용하도록 돕습니다.
4번 질문
Polkadot 커뮤니티의 그룹 1 구성원: Polkadot 또는 Substrate의 응용 프로그램 개발을 병렬 체인으로 사용해야 합니까? 이런 식으로 각 애플리케이션은 체인을 개발하는데, 파라체인에 대한 슬롯이 충분하지 않은 경우 어떻게 해야 합니까?
Jia Yaoqi 박사: 병렬 체인 외에도 실제로 다른 방법이 있습니다.
첫 번째 방법은 방금 언급한 것입니다. 병렬 스레드를 통과한 다음 시스템에 액세스할 수 있습니다.
Parathreads는 parachain 팀이 반년 또는 2년 이상 슬롯을 독점할 필요가 없습니다. 필요에 따라 다른 블록에 대해서만 입찰한 다음 자체 블록을 Polkadot 시스템에 씁니다.
물론 다른 방법도 있습니다. 비교적 간단한 애플리케이션을 구축했다면 ink! 또는 Solidity를 사용하여 스마트 계약을 작성한 다음 자신의 스마트 계약 또는 관련 애플리케이션을 스마트 계약 파라체인에 배포할 수 있습니다. 다른 병렬 체인에 데이터를 호출하고 제공하는 스마트 계약 병렬 체인을 통해 Polkadot의 해당 교차 체인 이점도 활용할 수 있습니다.
또한 별도의 기판 체인을 구축할 수도 있습니다. 미래에는 일부 파라체인에 연결하는 방법을 통해 자체 체인의 데이터가 파라체인을 통해 다른 파라체인과 통신할 수 있습니다.
대략적으로 말하면, 위의 세 가지 방법과 파라체인 슬롯 경매를 통해 Polkadot에 액세스합니다. Polkadot 시스템에 액세스하는 방법은 총 4가지가 있습니다.
