
“Polkadot 지식 그래프"제로부터 하나까지 폴카닷에 대한 초보적인 글입니다. 폴카닷의 가장 기초적인 부분부터 시작하여 폴카닷에 대한 포괄적인 이해를 드리고자 노력하고 있습니다. 어려움이 있지만 이러한 노력을 통해 모두가 올바르게 이해할 수 있기를 바랍니다. 폴카닷, 그리고 폴카닷을 모르는 사람들도 폴카닷 관련 지식을 쉽고 빠르게 파악할 수 있습니다.그림
Polkadot 지식 그래프
"제로부터 하나까지 폴카닷에 대한 초보적인 글입니다. 폴카닷의 가장 기초적인 부분부터 시작하여 폴카닷에 대한 포괄적인 이해를 드리고자 노력하고 있습니다. 어려움이 있지만 이러한 노력을 통해 모두가 올바르게 이해할 수 있기를 바랍니다. 폴카닷, 그리고 폴카닷을 모르는 사람들도 폴카닷 관련 지식을 쉽고 빠르게 파악할 수 있습니다.오늘은 이 칼럼 65호입니다.폴카닷 자체는 스마트 컨트랙트를 지원하지 않지만, 폴카닷의 파라체인은 스마트 컨트랙트를 지원할 것이고, Substrate 스마트 컨트랙트는 본질적으로 더 안전하고 개발 문턱이 낮습니다. ?
스마트 계약은 블록체인의 필수 기능입니다.블록체인이 기계 신뢰를 실현하는 것은 바로 스마트 계약 때문입니다.현재 디지털 ID, 공급망, 무역 금융, 모기지 및 기타 분야를 포함한 광범위한 응용 시나리오가 있습니다.
기판 스마트 계약을 통해 사용자는 블록체인의 핵심 논리를 기반으로 비즈니스 논리를 추가하는 동시에 사보타주에 대한 보호 메커니즘을 설정할 수 있습니다.
파라체인에 비해 스마트 계약의 개발 속도가 빠르고 배포가 덜 어렵기 때문에 Moonbeam, Astar 및 Phala와 같은 스마트 계약 플랫폼은 빠르게 온라인에 진출하려는 애플리케이션에 더 많은 옵션을 제공합니다.
Polkadot 릴레이 체인 자체는 스마트 계약을 지원하지 않지만 Polkadot의 파라체인은 스마트 계약을 지원합니다.
스마트 계약 개발과 파라체인 개발의 차이점
추상화 계층스마트 계약을 작성할 때 특정 체인 주소와 연결되고 배포되는 지침을 생성합니다. 반대로 런타임 모듈은 상태 전환 체인(상태 전환 함수라고 함)의 전체 논리입니다.
스마트 계약은 의도적으로 업그레이드할 수 있어야 하며 파라체인은 루트 명령 또는 거버넌스 팔레트를 통해 코드를 완전히 교환할 수 있습니다.
스마트 계약을 구축하면 결국 자체 환경을 갖춘 대상 체인에 배포됩니다.
. 파라체인을 통해 개발자는 자신의 체인 환경을 선언하고 다른 사람이 스마트 계약을 작성할 수 있습니다.
가스비
스마트 계약은 자체 실행을 제한하는 방법을 찾아야 합니다. 그렇지 않으면 전체 노드가 DOS 공격에 취약합니다.
예를 들어 스마트 계약의 무한 루프는 전체 체인의 컴퓨팅 리소스를 소비하여 다른 사람이 사용하지 못하게 할 수 있습니다. 불연속성 문제는 충분히 강력한 언어의 경우 프로그램이 실행을 중단할지 여부를 미리 아는 것이 불가능하다는 것을 나타냅니다.。
Bitcoin과 같은 일부 플랫폼은 매우 제한된 스크립팅 언어를 제공하여 이러한 제약을 극복합니다. Ethereum과 같은 다른 프로젝트는 스마트 계약에 "가스"를 청구하여 코드를 실행할 권리를 제공합니다.
스마트 계약이 실행을 멈추지 않는 상태가 되면 결국 가스가 고갈되고 실행이 중지되며 스마트 계약이 수행했을 상태 전환이 롤백됩니다.
Polkadot은 가스 계량 모델 대신 중량 요금 모델을 사용합니다.
Parachains는 임의로 강력한 프로그래밍 언어를 구현할 수 있으며 자체 기본 논리에 대한 가스 개념을 포함하지 않습니다.
즉, 특정 기능은 개발자가 구현하기가 더 쉽지만 종료 조건이 없는 루프와 같은 특정 구조는 구현하면 안 됩니다.
특정 논리(예: 무기한 실행될 수 있는 복잡한 루프)를 스마트 계약이 아닌 계층에 남겨두거나 제거하려고 시도하는 것이 종종 더 현명합니다. Parachains는 능동적으로 행동하려고 노력하는 반면 스마트 계약 플랫폼은 이벤트 중심입니다.
스마트 계약 구축
Substrate는 현재 다음 두 가지 방식으로 즉시 사용 가능한 스마트 계약을 지원합니다.
Frontier에서 제공하는 EVM 팔레트.
Wasm 계약을 기반으로 하는 FRAME 라이브러리의 계약 팔레트.
보조 제목
Frontier는 Ethereum이 Substrate에 노출하는 것과 동일한 API/RPC 인터페이스를 사용하여 Substrate 체인이 기본적으로 Ethereum 계약(EVM)을 실행할 수 있도록 하는 도구 모음입니다. 이더리움 주소는 기존 계정에서 Substrate의 SS58 체계에 직접 매핑할 수도 있습니다.
기판 계약
Substrate는 내장된 계약 팔레트를 제공하며 시간이 지남에 따라 더 많은 파라체인이 WebAssembly 스마트 계약을 지원할 것입니다.https://www.youtube.com/watch?v=fKHkFBXaUxQ
그림
또한 파라체인이 이더리움 EVM을 구현하여 이더리움 계약의 직접 포팅을 가능하게 하는 EVM 팔레트가 있습니다.https://stackoverflow.com/questions/56040779/when-should-i-build-a-substrate-runtime-module-versus-a-substrate-smart-contract/56041305#56041305)
스마트 계약 개요의 비디오 버전은 Polkadot YouTube 채널에서 찾을 수 있습니다.https://github.com/paritytech/ink)
Contracts Pallet
자원
1.Wasm(WebAssembly)언제 Substrate 런타임 및 Substrate 스마트 계약을 구축해야 합니까? 이 게시물은 개발자가 스마트 계약 대신 런타임 개발을 선택할 수 있는 경우 기술적으로 답변합니다. (
2.아래는 기판 기반 파라체인에 배포하기 위한 스마트 계약 작성을 시작하려는 개발자가 현재 사용할 수 있는 리소스 목록입니다. 잉크! - 스마트 계약 작성을 위한 패리티의 잉크! (이전에 스마트 계약을 작성한 개발자는 EVM 기반 체인에 배포한 경험에 더 익숙할 수 있습니다. 그러나 Contracts Pallet은 EVM 설계에 몇 가지 주목할 만한 개선 사항을 제공합니다.
3.: Contracts Pallet은 WebAssembly를 컴파일 대상으로 사용합니다. Wasm으로 컴파일되는 모든 언어는 잠재적으로 스마트 계약을 작성하는 데 사용될 수 있습니다. 그래도 전용 도메인 특정 언어를 사용하는 것이 더 좋으므로 Parity는 ink! 언어를 제공합니다.보증금
: 계약은 온체인의 존재를 증명할 수 있을 만큼 충분히 큰 예치금(ContractDeposit)을 보유해야 합니다. 배포자는 ExistentialDeposit을 기반으로 새 계약에 입금해야 합니다.
4.캐싱: 계약은 기본적으로 캐시되므로 한 번만 배포하면 필요한 만큼 여러 번 인스턴스화할 수 있습니다.
이는 온체인 스토리지 부하를 최소로 유지하는 데 도움이 됩니다. 또한 계약이 더 이상 사용되지 않고 기존 예치금이 고갈되면 저장소에서 코드가 제거됩니다(리핑이라고 함).https://github.com/paritytech/substrate/pull/9669
창고 임대료
: 더 이상 사용되지 않는 Pallet_contracts는 원래 컨트랙트에서 소비한 상태에 대해 요금을 부과하여 무한한 상태 성장을 처리하도록 설계되었지만 나중에 더 이상 사용되지 않습니다.
자세한 내용은 관련 풀 요청을 참조하십시오.
Polkadot 표준 제안(PSP)https://github.com/w3f/PSPs
Ink!
Web3 Foundation은 생태계의 요구 사항을 충족하는 일련의 표준을 정의하는 Polkadot의 제안을 지원합니다. 이러한 표준은 여러 승인 단계를 거치며 가치 있고 미래 지향적인 표준을 수립하기 위해 전체 커뮤니티의 참여가 필요합니다.
표준의 혜택을 받는 모든 그룹은 그 내용에 동의해야 합니다.
이러한 PSP 중 일부는 기판용 계약 팔레트입니다. 자세한 내용은 Polkadot Standard Proposal(PSP) Github를 방문하십시오.
ink!는 Wasm 코드로 컴파일되는 Rust에서 스마트 계약을 작성하기 위한 도메인별 언어입니다. readme에서 말했듯이 아직 실험적이므로 대담한 개발자는 순탄치 않지만 실행 가능한 개발 경험이 있을 수 있음을 인식해야 합니다.
적절한 수준의 복잡성을 지닌 ink!로 프로젝트를 구축한 프로젝트가 몇 개 있습니다.
관심 있는 개발자는 이미 작성된 예제를 학습하여 ink!를 사용하여 스마트 계약 작성을 시작할 수 있습니다. 이는 스마트 계약 파라체인에 배포할 수 있는 보다 복잡한 논리를 작성하기 위한 지침 역할을 할 수 있습니다.https://docs.openbrush.io/
- ink!는 Wasm 가상 머신을 기반으로 하고 기판 체인과 호환되는 새로운 스마트 계약 스택을 위한 많은 토대를 마련합니다.https://github.com/patractlabs/metis
ink!의 스마트 계약 라이브러리는 아래 스마트 계약의 몇 가지 예를 수집합니다. 스마트 계약 예제를 개발하고 있습니까? 이 페이지에 추가하도록 해주세요!
OpenBrush: 빌드를 위한 유용한 계약 및 매크로뿐만 아니라 표준 PSP 기반 계약을 제공하는 ink! 라이브러리입니다.
Parity Tech
ink!:
https://github.com/paritytech/inkSubstrate contracts Pallet:https://github.com/paritytech/substrate/tree/master/frame/contracts
Metis: Patract Labs에서 개발한 Wasm 계약의 표준 라이브러리입니다.
Moonbeam:
Astar:
Acala:
Phala:
스마트 계약 환경은 여전히 성숙하고 있습니다
https://www.polkaproject.com/#/projects?cateID=1&tagID=6
Moonbeam
Polkadot의 스마트 계약은 아직 초기 단계이며 개발은 이제 겨우 안정화되고 있습니다. 우리는 개발자가 최신 리소스로 위키를 유지할 수 있도록 적극적으로 콘텐츠를 제작하고 있습니다. 또한 최신 정보를 보려면 아래 링크를 따라야 합니다.
파라체인
많은 스마트 계약 플랫폼이 생태계에서 파라체인으로 구축되고 있습니다. 다양한 Polkadot 기반 스마트 계약 플랫폼을 만들고 유지하는 커뮤니티 목록은 PolkaProjects에서 찾을 수 있습니다.
Moonbeam은 Parachain으로 Polkadot에 배포할 계획이며 Ethereum 호환 스마트 계약을 지원할 또 다른 프로젝트입니다.https://docs.moonbeam.network/Astar
Moonbeam은 기존 이더리움 도구와의 상호 운용성 계층인 Frontier를 사용하므로 마찰이 거의 없는 EVM 환경용으로 작성된 모든 애플리케이션을 지원합니다.
Moonbeam의 선도적인 네트워크인 Moonriver는 Parachain으로 Kusama에서 시작되었습니다. 파라체인 기능이 출시되었으며, 기능이 점차 출시되고 있습니다. 릴리스의 마지막 단계에는 EVM 기능과 잔액 이체가 포함됩니다.
Moonbeam의 문서를 따라 스마트 계약을 배포해 보십시오.
Astar(구 Plasm)는 Substrate에 구축된 스마트 계약 플랫폼이며 Polkadot과 병렬 체인으로 통합할 계획입니다.https://docs.astar.network/docs/wasm/sc-dev/ink-dev/
Acala
Shiden은 현재 Kusama에서 실행 중인 Astar의 선도적인 네트워크이며 EVM, WASM 및 Layer2 솔루션을 지원합니다.
Astar는 모든 Layer 2 스케일링 솔루션을 수용하도록 설계되었으며 OVM(Optimistic Virtual Machine)을 통해 모든 Layer 2 프로토콜을 지원합니다.
이더리움이나 잉크를 배포해보세요! 스마트 계약에 대한 문서를 따르세요.https://wiki.acala.network/build/development-guide/smart-contracts
Phala
Acala는 탈중앙화 금융 제휴 및 DeFi 인프라 체인으로, Polkadot의 DeF 센터로서 일련의 프로토콜을 제공합니다. Kusama에서 Parachain으로 실행되는 Acala의 주요 네트워크인 Karura.
관심 있는 팀은 이제 Karura의 플랫폼에서 DApp 및 스마트 계약을 배포할 수 있습니다. Acala는 또한 Acala EVM을 구현하고 있습니다.
Acala EVM의 문서에 따라 Acala 스마트 계약을 배포해 보십시오.https://wiki.phala.network/en-us/general/phala-network/intro/
Phala는 크로스체인 플랫폼으로서 강력한 기밀성을 보장하도록 설계된 개인 정보 보호 클라우드 컴퓨팅 플랫폼입니다.
스마트 계약 플랫폼으로서 Phala는 Polkadot에서 암호화된 스마트 계약을 지원할 것입니다. Khala는 Parachain으로 Kusama에서 실행되는 Phala의 리드 네트워크입니다.
Phala 문서에 따라 암호화된 스마트 계약을 배포하십시오.https://matrix.to/#/#polkadot-watercooler:web3.foundation
연락을 유지https://area51.stackexchange.com/proposals/126136/substrate툴링은 아직 성숙 단계에 있지만 조기에 수행하면 프로젝트에 익숙해지고 한발 앞서 나갈 수 있어 진정으로 새로운 것을 혁신하고 만들 수 있다는 이점이 있습니다.
Polkadot의 스마트 계약에 대한 흥미로운 아이디어가 있으면 언제든지 Polkadot Watercooler에 입장하여 토론하십시오.
개발자는 Polkadot Noobs Lounge https://matrix.to/#/#polkadotnoobs:matrix.org 또는 Substrate Technical에 참여하는 데 관심이 있을 수 있습니다.
그들의 질문을 하기 위해. 언제나 그렇듯이 소셜 채널을 팔로우하여 Polkadot 및 Kusama와 소통하세요.
모두 잘 되길!
https://mirror.xyz/0x9A259b3a2316281Cc948cE2Cf1Ac610a79844f05