Gitpod x 블록체인

Gitpod에서 하드 설정을 제거하여 블록체인 개발 시간을 절약하세요.

먼저 이 저장소StoreFront_contracts를 살펴보겠습니다.
이 프로젝트는 hardhat으로 빌드되었으며 하위 그래프에 TheGraph 전원 인덱서도 있습니다.
이 프로젝트는 openzeppelin 계약 위에 구축된 ERC721과 같은 NFT 기반 스마트 계약을 제공합니다.

이제 이것이 귀하의 프로젝트이고 동료나 친구가 시작하기를 원한다고 가정해 보겠습니다. 그러면 그가 할 수 있습니다.

아니, 그렇게 쉬운 일이 아니야.
단계를 수행하는 데 필요한 단계를 구성하십시오.

처럼,



1단계 - 복제(Yeaaaaah!)
2단계 - 패키지 설치(npm이 맞습니까? 😏)

om@linux-pc:/# npm
bash: npm: command not found
om@linux-pc:/# 


3단계 - 노드, npm 및 npm i 설치(npm이 없는 이유
😔)
4단계 - 로컬 이더리움 노드 시작

npm install -g ganache-cli && ganache-cli -h 0.0.0.0 -m "$MNEMONIC"


시간이 걸리고 또 다른 고통스러운 4-5 단계가 필요합니다.




이 문제를 해결하는 방법?



간단합니다. 그냥 gitpod를 사용하세요.

지금 이 페이지link로 이동하여 마법을 확인하십시오. 모든 것이 정상 작동해야 합니다.

이제 새 창이 열릴 것입니다.
URL에 subgraphs/name/TheLazarusNetwork/MyriadFlow를 추가하고 **Enter**를 누르십시오.

여기에서 모든 graphQL 쿼리를 작성하고 필요한 데이터를 얻을 수 있습니다.
예를 들어

{
  tokens{
    id
    metaDataUri
  }
}


이제 scripts/deploy.ts 48행을 다음과 같이 변경해 보십시오.

 await creatify.createArtifact("https://ipfs.infura.io/ipfs/itworks")


그런데 이 필드는 ipfs 해시에 대한 것입니다. itworks는 유효한 ipfs 해시가 아닙니다. 여기에서 테스트용으로만 사용됩니다.

이제 터미널을 확인하십시오.
모든 것이 실시간으로 재배치되어야 합니다. 그러면 쿼리를 다시 실행하여 새 ipfs 해시가 있는지 확인할 수 있습니다. 블록체인 개발에서 라이브 리로딩과 비슷하지 않습니까?

어떻게 그런 일이 일어나고 있습니까?



다시 한 번 쉽게, 우리가 저장소에서 했던 것처럼 초기 스크립트 제공, 스크립트 시작 및 사용자 지정 도커 이미지와 같은 gitpod 구성을 작성하기만 하면 됩니다.

---
image:
  file: .gitpod.Dockerfile
ports:
  - name: Graph query
    port: 8000
    visibility: private
    onOpen: open-browser

tasks:
  - init: |
      npm install
      cd subgraph && yarn install && cd -
    command: gp sync-done depinit
  - name: Ethereum Node
    command: ganache-cli -h 0.0.0.0 -m "$MNEMONIC"
  - name: Graph Node
    command: |
      cd /home/gitpod/graph-docker/graph-node/docker
      docker-compose up -d
      sleep 10
      gp sync-done graphnode
  - name: Create deploy
    command: |
      gp sync-await depinit
      gp sync-await graphnode
      gp await-port 8020
      cd subgraph && yarn create-local && cd -
      gp sync-done graphdeploy
  - name: Smart contract
    command: |
      gp sync-await depinit
      gp sync-await graphdeploy
      gp sync-await graphnode
      gp await-port 8020
      ./watch.sh

vscode:
  extensions:
    - dbaeumer.vscode-eslint
    - graphql.vscode-graphql
    - juanblanco.solidity


자신의 블록체인 프로젝트로 시도해 보지 않겠습니까? 쉬운 문서가 있습니다https://www.gitpod.io/docs.

또한 discordserver에 연락하여 가입할 수 있습니다.

행복한 코딩 👋

좋은 웹페이지 즐겨찾기