기금넷 공식사이트 - 금 선물 - 에테르방이 뭔가요? 에테르방 개발 가이드.

에테르방이 뭔가요? 에테르방 개발 가이드.

에테르방이 뭔가요? 에테르방 개발 가이드.

많은 학생들이 블록체인 개발팀에 가입하기를 간절히 원했지만, 그들은 자신이 손을 댈 수 없다고 느꼈다. 이 글은 에테방이라는 플랫폼을 바탕으로 에테방 개발과 관련된 난해한 개념을 통속적인 방식으로 소개하여 쉽게 시작할 수 있게 해 줄 것이다.

에테르방이 뭔가요?

에테르는 블록 체인 기술을 기반으로 하는 중앙화 애플리케이션 플랫폼입니다. 이를 통해 누구나 플랫폼에서 블록 체인 기술을 통해 분산된 애플리케이션을 구축하고 사용할 수 있습니다.

이 문장을 이해하지 못하는 학생들은 Etherfang 이 블록 체인의 안드로이드라는 것을 이해할 수 있으며, Android 프레임워크처럼 블록 체인 기술을 기반으로 응용 프로그램을 작성할 수 있는 개발 플랫폼입니다.

에테르가 나타나기 전에 비트코인 코드를 복제한 다음 암호화 알고리즘, * * * * 인식 메커니즘, 네트워크 프로토콜 등의 기본 코드를 수정하는 블록 체인 응용 프로그램을 작성합니다. (많은 위조지폐는 이렇습니다. 고치면 새 화폐가 나옵니다.)

Etherfang 플랫폼은 기본 블록 체인 기술을 캡슐화하여 블록 체인 응용 프로그램 개발자가 Etherfang 플랫폼을 직접 기반으로 개발할 수 있도록 합니다. 개발자는 응용 프로그램 자체 개발에 집중하기만 하면 어려움을 크게 줄일 수 있습니다.

현재, 에테르방을 둘러싸고 비교적 완벽한 개발 생태계가 형성되어 있다. 지역사회의 지원을 받아 많은 개발 프레임워크와 도구를 선택할 수 있다.

스마트 계약

스마트 계약이란 무엇입니까

이더넷 워크샵의 프로그램은 스마트 계약이라고 하며 코드와 데이터 (상태) 의 모음입니다.

지능형 계약은 블록 체인에서 자동으로 실행 (이벤트 중심) 되고 코드로 작성된 계약 (특수 거래) 으로 이해할 수 있습니다.

비트코인 스크립트에서 비트코인의 거래는 프로그래밍할 수 있다고 언급했지만 비트코인 스크립트에는 많은 제한이 있어 작성할 수 있는 프로그램은 제한적이며, 에테르는 더욱 완전합니다 (컴퓨터 과학 용어에서는' 튜링 완료' 라고 함). 어떤 고급 언어로도 거의 모든 것을 할 수 있는 프로그램 (스마트 계약) 을 작성할 수 있습니다.

스마트 계약은 디지털 통화, 디지털 자산, 투표, 보험, 금융 애플리케이션, 시장 예측, 재산 소유권 관리, 인터넷, 지점 간 거래 등 신뢰, 보안 및 지속성이 높은 어플리케이션 시나리오에 적합합니다.

현재 디지털 통화 외에 실제 응용은 많지 않다 (모바일 플랫폼이 막 나온 것처럼). 믿고 1 3 년, 각종 킬러가 점차 나타날 것이다.

프로그래밍 언어: 신뢰성

스마트 계약의 기본 프로그래밍 언어는 Solidity 이며 파일 확장명은 입니다. 솔.

Solidity 는 JavaScript 와 유사한 언어로 계약을 개발하고 Etherfance 가상 시스템의 바이트 코드로 컴파일합니다.

파이썬 (Python) 처럼 보이는 지능형 계약 개발 언어도 있습니다: Serpent, 하지만 그래도 Solidity 를 사용하시길 권합니다.

Browser-Solidity 는 브라우저의 Solidity IDE 입니다. 한 번 클릭해 보세요. 나중에 우리는 더 많은 문장 중에서 언어의 견고성을 소개할 것이다.

운영 환경: EVM

EVM (Etherfance 가상 시스템) Etherfance 가상 시스템은 Etherfance 의 지능형 계약이 실행되는 환경입니다.

안정성은 EVM 에 JVM 과 같기 때문에 누구나 쉽게 이해할 수 있다.

이더넷 팜 가상 시스템은 EVM 내에서 실행되는 코드를 외부와 연결할 수 없는 격리된 환경입니다.

EVM 은 이더넷 노드에서 실행됩니다. 계약을 이더넷에 배포하면 이더넷에서 계약을 실행할 수 있습니다.

계약의 편성

에테방 가상 머신은 계약의 바이트 코드로 실행되므로 배포 전에 계약을 컴파일해야 합니다. Browser-solidity 웹 ide 또는 solc 컴파일러를 선택할 수 있습니다.

계약의 배치

에테르방에서 앱을 개발할 때 에테르방 클라이언트 (지갑) 를 자주 사용한다. 보통 우리는 개발 중에 클라이언트나 지갑의 개념을 건드리지 않는다. 이게 뭐야?

이더넷 스퀘어 클라이언트 (지갑)

이더넷 스퀘어 클라이언트는 계정 관리, 마이닝, 이체, 지능형 계약 배포 및 실행 등의 기능을 제공하는 개발자 도구로 해석할 수 있습니다.

EVM 은 etherfance 클라이언트에서 제공합니다.

Geth 는 Etherfance 개발에 사용되는 일반적인 클라이언트이며 Go 언어 개발을 기반으로 합니다. Geth 는 이더넷방의 다양한 기능 (API) 이 포함된 대화형 명령 콘솔을 제공합니다. 우리는 다음에 Geth 의 용법을 소개할 것이다. 여기에 먼저 개념이 있다.

Geth 콘솔은 Chrome 브라우저 개발자 도구의 콘솔과 비슷하지만 터미널에서 실행됩니다.

Mist 는 Geth 에 비해 그래픽 운영 인터페이스가 있는 이더넷 스퀘어 클라이언트입니다.

배포 방법

스마트 계약의 배포는 계약 바이트 코드를 블록 체인에 게시하고 계약 계정이라는 특정 주소로 계약을 표시하는 것을 의미합니다.

에테르방에는 두 가지 유형의 계정이 있습니다.

대외계좌

이 계정은 개인 키 (사람이 제어) 로 제어되며 어떤 코드와도 연결되지 않습니다.

계약계좌

이러한 계정은 계약 코드에 의해 제어되며 관련 코드가 있습니다.

비트코인이 UTXO 를 사용하는 디자인과 달리, 에테르는 더 간단한 계좌 개념을 사용한다.

EVM 의 경우 두 계정 유형은 동일합니다.

외부 계정과 계약 계정의 차이점과 연락은 다음과 같습니다. 외부 계정은 자신의 개인 키로 거래를 만들고 서명하고 다른 외부 계정이나 계약 계정으로 메시지를 보낼 수 있습니다.

두 외부 계정 간에 메시지를 보내는 것은 가치 이전 프로세스입니다. 그러나 외부 계정에서 계약 계정으로의 메시지는 계약 계정의 코드를 활성화하여 토큰 전송, 내부 스토리지 쓰기, 새 토큰 마이닝, 특정 작업 수행, 새 계약 생성 등의 다양한 작업을 수행할 수 있도록 합니다. ).

외부 계정이 지시를 내릴 때만 계약 계정이 해당 작업을 수행합니다.

계약 배치는 컴파일된 계약 바이트 코드를 외부 계정을 통해 거래를 전송하는 형태로 이더넷 블록 체인에 배포하는 것입니다 (실제 배치는 실제 광부가 차단한 후에만 성공합니다).

달리다

계약이 배포된 후 스마트 계약 메소드를 호출해야 하는 경우 계약 계정에 메시지 (거래) 만 보내면 메시지가 트리거되면 지능형 계약 코드가 EVM 에서 실행됩니다.

기체

클라우드 컴퓨팅과 마찬가지로 블록 체인을 차지하는 자원 (간단한 이전 거래 또는 계약의 배포 및 실행) 에도 적절한 비용이 필요합니다 (세상에는 무료 점심이 없습니다, 그렇죠? ) 을 참조하십시오.

이더넷 작업장은 Gas 메커니즘을 사용하여 비용을 부과하며, Gas 도 하나의 작업량 단위로 볼 수 있습니다. 스마트 계약이 복잡할수록 (계산 단계의 수와 유형, 사용된 메모리 등). ), 작업을 완료하는 데 더 많은 가스가 필요합니다.

특정 계약을 운영하는 데 필요한 천연가스의 양은 고정되어 있으며, 이는 계약의 복잡성에 따라 결정된다.

가스 가격은 계약을 실행하는 사람이 계약 실행 요청을 제출할 때 규정한 것으로, 그가 이 거래에 대해 지불하고자 하는 비용, 즉 가스 가격 (태국 통화로 표시) * 기량을 결정합니다.

Gas 의 목적은 트랜잭션을 수행하는 데 필요한 작업량을 제한하는 동시에 실행에 대한 비용을 지불하는 것입니다. EVM 이 거래를 수행할 때 휘발유는 일정한 규칙에 따라 점차 소모된다. 어디에서 실행하든 가스가 다 소모되면 이상이 발생합니다. 현재 호출 프레임에 대한 모든 상태 수정은 롤백되고 실행 후 가스가 남아 있으면 발신자 계정으로 반환됩니다.

이 제한이 없다면, 누군가는 인터넷을 막기 위한 끝없는 계약을 쓸 것이다.

따라서 실제로 (이전 내용을 연결) 우리는 이더넷 잔액이 있는 외부 계정 (일반 거래 또는 배치 운영 계약) 이 필요하며, 런타임 광부들은 해당 작업량 비용을 청구합니다.

억태방 네트워크

초조한 학우가 묻고 싶은데, 에테르방이 없으면 어떻게 지능계약을 개발할 수 있습니까? 다음 방법 중에서 선택할 수 있습니다.

이더넷 스퀘어 공식 홈페이지를 선택하여 인터넷 테스터넷을 테스트하다.

테스트 네트워크에서는 무료 이더넷 통화를 쉽게 얻을 수 있지만 노드를 초기화하는 데 시간이 오래 걸린다는 단점이 있습니다.

개인 체인 사용

사설 체인이라고도 하는 자체 이더넷 사설 테스트 네트워크를 만들어 지능형 계약을 개발, 디버깅 및 테스트하는 테스트 환경으로 사용할 수 있습니다.

위의 Geth 를 통해 자체 테스트 네트워크를 쉽게 만들 수 있으며, 에테르에서 원하는 만큼 파면 정규 네트워크의 전체 블록 체인 데이터를 동기화할 필요가 없습니다.

개발자 네트워크 사용 (모드)

개인 체인에 비해 개발자 네트워크 (모드) 에서 잔액이 큰 개발자 계정이 자동으로 할당됩니다.

시뮬레이션 환경 사용

테스트 네트워크를 만드는 또 다른 방법은 개발 및 디버깅이 더 쉽고 빠른 로컬 메모리 에뮬레이션을 위한 이더넷 환경인 테스트 RPC 를 사용하는 것입니다. 테스트 RPC 는 부팅 시 자금으로 10 개의 테스트 계정을 만드는 데 도움이 됩니다.

계약이 개발되면 testrpc 에서 테스트를 통과한 후 Geth 노드에 배포할 수 있습니다.

업데이트: testrpc 가 Truffle 개발 프레임워크에 통합되었으며 이제 Ganache CLI 로 이름이 지정됩니다.

Dapp: 분산 애플리케이션

에테방 커뮤니티는 스마트계약에 기반한 앱을 센터화 앱으로 꼽았다. 블록 체인을 깨지지 않는 데이터베이스로 이해하고 지능형 계약을 데이터베이스를 처리하는 프로그램으로 해석하면 Dapp 를 쉽게 이해할 수 있습니다. Dapp 에는 지능형 계약뿐만 아니라 친숙한 사용자 인터페이스 및 기타 항목이 필요합니다.

송로

Truffle 은 Dapp 의 개발 프레임워크로, 사소한 일들을 많이 처리하는 데 도움이 되며, 코드 작성-컴파일-배포-테스트-DApp 패키지 프로세스를 신속하게 시작할 수 있습니다.

요약

이제 요약해 보겠습니다. Etherfang 은 블록 체인 기술을 사용하여 중앙 집중식 애플리케이션을 쉽게 개발할 수 있는 플랫폼입니다. 이 응용 프로그램에서는 Solidity 를 사용하여 블록 체인과 상호 작용하는 지능형 계약을 작성합니다. 계약이 작성된 후, 우리는 에테르의 클라이언트에서 잔액 계정으로 계약을 배포하고 실행해야 한다. (Truffle framework 는 우리가 이러한 일을 더 잘 할 수 있도록 도와준다.) 개발의 편의를 위해 Geth 또는 testrpc 를 사용하여 테스트 네트워크를 구축할 수 있습니다.

참고: 이 글은 여러분이 쉽게 이해할 수 있도록 몇 가지 개념을 비유했습니다. 어떤 개념은 엄밀히 말하면 정확하지 않지만, 나도 초보자가 모든 개념을 세심하고 정확하게 파악할 필요는 없다고 생각한다. 학습은 점진적이고 심층적인 과정이다. 여러 번, 우리는 시간이 지나면 같은 일에 대해 다른 이해를 가질 수 있다는 것을 알게 될 것이다.