첫 번째 Arweave 계약 배포
9074 단어 blockchainprogrammingtutorial
Arweave는 2020년 6월 이들의 스마트 계약 버전을 발표했다.Smartweave나 새로운 스마트 계약 프로토콜은 Arweave 네트워크에서 계산량이 많은 DAPP를 실현할 수 있으며 개발자가 간단한 자바스크립트를 작성하여 체인에 쉽게 배치할 수 있다.만약 이것이 네가 처음으로 Arweave를 배우는 것이라면, 나는 네가 나의 사이트를 좀 볼 것을 건의한다.만약 생태계에 익숙하다면, Smartweave는 Blockweave의 기초 위에서 세워진 것임을 알게 될 것이다.스마트 계약의 Eth v1 구현과 달리 각 노드는 결과를 검증해야 한다. 스마트 위브는 지연 평가 방법을 배치했다.이 가운데 아웨이브의'네트워크는 유니버설 데이터 공감대와 공유층으로 사용된다'.기본적으로 사용자가 스마트 계약의 결과를 방송하고 네트워크를 검증한다.자세한 내용here
In a later post, I will dive deeper into the background of smartweave and its technical implementation.
우선, 선택한 폴더에 하나
contract.js
와 하나 contract.json
를 계속 만듭니다.Smartweave는 클라이언트의 수정되지 않은 실행 엔진을 통해 자바스크립트를 사용합니다.내가 발견한 가장 큰 심리적 변화는 네가 .js
파일에서 변수를 정의하지 않았다는 것이다..json
에서 각 관련 변수의 이름과 초기 상태를 정의합니다.우리가 작성해야 할 첫 번째 코드는 자바스크립트입니다.기억해야 할 점은 계약이 반드시 확실해야 한다는 것이다.나는
deterministic
CS가 주로 손을 흔드는 신호어 중의 하나라고 생각한다.이것은 함수가 주어진 시작 입력에서 같은 출력을 만들어 낸다는 것을 의미한다.너는 스마트 위브 계약서에서 인터넷 통화를 하거나 무작위 번호를 만들어서는 안 된다.마지막으로, 우리가 계약을 호출할 때, 우리는 임의로 (최대 몇 비트) 모든 데이터를 입력할 수 있다.우리는 action.input.function === 'someString'
를 통해 이 입력들을 전송한다.export function handle(state, action){
if (action.input.function === 'Twitter') {
state.twitter = true;
}
if (action.input.function === 'ArWallet') {
state.arWallet = true;
}
if (action.input.function === 'arVerify') {
state.arVerify = true
}
if (state.twitter && state.arVerify && wallet) {
state.mintNft = true;
}
return mintNFt;
}
너는 우리가 상태 변수를 통해 한 무더기의 변수를 전달하는 것을 알아차릴 것이다.이것들은 json에서 정의한 변수입니다.{
"twitter": false,
"arWallet": false,
"arVerify": false,
"mintNft": false
}
이 계약은 내가 다른 Arweave 프로젝트에 종사할 때 체결한 것이다. 만약 당신이 일정 수량의 절차를 완성한다면, 당신은 무료NFT를 받을 것이다.나중에 얘기하자.사용자가 지갑에 연결할 때 이 계약을 호출합니다.그때가 되면 나는 통과할 것이다arWallet: true
.이 계약은 세 변수가true로 설정될 때까지false를 계속 되돌려줍니다.다음 글에서 계약과 상호작용을 할 때 입력 없이 검색 상태를 볼 수 있습니다.쿨하게도 계약은 다른 계약의 상태를 읽을 수 있다.Arweave 지갑을 나타내는 키 파일이 있는지 계속 확인합니다.비록 계약서와 상호작용할 천연가스는 필요하지 않지만, 명목상으로는 천연가스를 배치해야 한다.다행히도 당신은 faucet를 통해 한두 달러의 AR을 얻을 수 있습니다.
솔직히 말해서, 내가 첫 번째 자술서를 배치할 준비를 할 때.md가 나를 헷갈리게 했다.내가 단말기에서 운행할 때
smartweave create -h
에 이르러서야 나는 비로소 내가 무엇을 전달해야 하는지 진정으로 알았다.계약을 배포하려면 Nodenpm install -g smartweave
를 설치하고 실행해야 합니다.이것은 전 세계적으로 스마트 위브 패키지를 설치할 것이기 때문에 우리는 어디서든 그것을 호출할 수 있다.다음은 계약이 있는 폴더로 이동하고 키 파일의 위치를 기억하십시오.smartweave create -h
____ _ __ __
/ ___| _ __ ___ __ _ _ __| |\ \ / ___ __ ___ _____
\___ \| '_ ` _ \ / _` | '__| __\ \ /\ / / _ \/ _` \ \ / / _ \
___) | | | | | | (_| | | | |_ \ V V | __| (_| |\ V | __/
|____/|_| |_| |_|\__,_|_| \__| \_/\_/ \___|\__,_| \_/ \___|
smartweave create <contractSource> <initStateFile>
Creates a new contract from a source file or existing contract source already
on-chain.
Positionals:
contractSource The contract source. A path to a .js file, or transaction id
[required]
initStateFile The initial state of the contract. Path to a .json file
[required]
Options:
--version Show version number [boolean]
--help Show help [boolean]
--key-file Your key file [required]
봐봐-h
,create 호출이 매우 간단하다는 것을 알게 될 거야.js와 json 파일의 경로를 순서대로 입력하십시오.마지막으로 키 쌍을 --key file로 선언합니다.네가 클릭해서 들어갈 때, 인터넷은 먼저 너의 발송 비용을 계산할 것이다.계산이 끝난 후, 계산이 생성된 무작위 형용사를 입력하도록 요구할 것이다.계약은 곧 인터넷으로 미뤄질 것이다.단, 당신의 거래(tx)를 발굴하는 데는 시간이 필요합니다.Tx는 비용 금액에 따라 우선순위를 매긴다.나는 나의 처리해야 할 사무를 검사하는 데 쓰인다.
다음 스마트 위브 강좌에서 지갑 거래의 역사를 살펴보고 명령줄과 웹 응용 프로그램을 사용하여 지갑과 상호작용할 것입니다.
만약 당신이 이것이 유용하다고 생각한다면(AR 지갑):
WtrURL9vjAUQQXMQxY5c9FZnh_IKOog5P38KO7oZnbg
Reference
이 문제에 관하여(첫 번째 Arweave 계약 배포), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/apollotoday/deploying-your-first-arweave-contract-15jc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)