코드 업로드 제안 제출
이 섹션에서는 스마트 컨트랙트 코드 제안을 제출하고 투표하는 방법을 배웁니다. Injective 네트워크 참여자는 스마트 컨트랙트 배포를 제안하고 거버넌스에서 투표하여 활성화할 수 있습니다.wasmd 권한 설정은 온체인 거버넌스에 의해 결정되며, 이는 컨트랙트 배포가 완전히 거버넌스에 의해 결정됨을 의미합니다. 따라서 거버넌스 제안은 Injective 메인넷에 컨트랙트를 업로드하는 첫 번째 단계입니다.
체인에 코드를 업로드하기 위한 거버넌스 제안을 시작하는 injectived 사용 예:
injectived tx gov submit-proposal wasm-store 명령은 wasm 바이너리 제안을 제출합니다. 제안이 거버넌스에 의해 승인되면 코드가 배포됩니다.
업로드된 코드의 인스턴스화 권한을 설정하는 두 가지 주요 플래그 instantiate-everybody와 instantiate-only-address를 살펴보겠습니다. 기본적으로 모든 사람이 컨트랙트를 인스턴스화할 수 있습니다.
컨트랙트 인스턴스화 (거버넌스 없음)
대부분의 경우 인스턴스화를 위해 다른 거버넌스 제안을 푸시할 필요가 없습니다. 간단히injectived tx wasm instantiate로 인스턴스화하세요. 컨트랙트를 _업로드_하기 위해서만 거버넌스 제안이 필요합니다. --instantiate-everybody 플래그가 false로 설정되고 --instantiate-only-address 플래그가 거버넌스 모듈로 설정된 경우가 아니면 인스턴스화를 위해 거버넌스를 거칠 필요가 없습니다. --instantiate-everybody의 기본값은 true이며, 이 경우 injectived tx wasm instantiate를 통해 무허가로 인스턴스화할 수 있습니다.
injectived tx wasm instantiate 예:
컨트랙트 인스턴스화 (거버넌스)
위에서 언급했듯이, 메인넷에서의 컨트랙트 인스턴스화 권한은 코드 업로드 시 사용된 플래그에 따라 다릅니다. 기본적으로 genesiswasmd Injective 설정에서 확인할 수 있듯이 무허가로 설정됩니다:
--instantiate-everybody 플래그가 false로 설정된 경우 컨트랙트 인스턴스화는 거버넌스를 통해 이루어져야 합니다.
Injective 테스트넷은 개발자가 쉽게 컨트랙트를 배포할 수 있도록 기본적으로 무허가입니다.
