제가 웹3 2주 전에.

카탈로그
  • Why web3?
  • Few articles I started with
  • First steps

  • First project
  • Notes
  • Mining
  • Deploy contract
  • Gas limit
  • Funding contract
  • Random number problem

  • Tools
  • Final website
  • What's next?
  • 왜 웹3이야?


    많은 사람들과 마찬가지로 나는 암호화 기술이 유명해진 후에 그것에 흥미를 느꼈다. 특히 비트코인 가격에 있어서.약 2년 전에 나는 이 책을 읽기 시작했고 여분의 돈을 투자하여 약간의 이윤을 얻었으며 이 화제에 대해 한동안 깊이 있게 연구했다.
    이후 저는 트위터의 기술 토론과 개발자(주로 자바스크립트/TypeScript)에 점점 더 많이 참여했습니다.지난 몇 달 동안 탈중심화 인터넷에 대한 토론이 정말 제 트위터 버블 계기판을 차지한 것은 나드 다비트(Nader Dabit) 덕분입니다. 웹3에 완전히 들어가기 전까지 저는 그를 지켜봤습니다.
    분산식 인터넷의 개념은 대형 과학기술회사(아마존, 구글, 마이크로소프트)의 과두 독점을 대체하는 것이 흥미로운 것 같다.그리고 나는 분산금융(DeFi), 스마트계약, NFT를 읽기 시작했다. 오늘날 우리가 알고 있는 것처럼 이런 생각들은 인터넷을 바꾸는 진정한 잠재력을 가진 것 같다.
    나는 실제 예를 통해 이 주제를 이해하고, 내 손을 더럽히고, 잘못을 저지르는 것을 좋아한다.그래서 나는 약간의 여가 시간을 써서 더 많은 것을 이해하기로 결정했다.

    내가 막 쓰기 시작한 몇 편의 문장

  • How to Get Into Ethereum | Crypto | Web3 as a Developer by Nader Dabit
  • I created a Web3 app and here's what I learned, by Camila Ramos
  • Complete Web3.0 And Solidity Development Roadmap 2021, by Vittorio Rivabella
  • 물론 더 많죠. 웹3 토론, 댓글, 트위터 글의 토끼구멍에 끌렸어요.나는 내가 읽은 모든 내용을 기억하지 못했지만, 나는 이 세 가지를 기억할 수 있다.

    첫걸음


  • Ethereum docs - 웹3에 대한 정보를 더 많이 알기로 결정한 후에 저는 바로 이 내용을 읽기 시작했습니다.이것은 거대한 자원이다. 솔직히 말해서, 나는 그것이 이렇게 잘 쓰여 있다는 것에 놀랐다.당신은 그곳에서 계좌, 블록, 채광, 화폐 제조, 스마트 계약, 천연가스 등을 배울 것입니다.강력 추천합니다.
  • 서로 돕고 남의 잘못에서 교훈을 얻는 것이 쉽고 내가 추천할 수 있는 것은 매우 적다.

  • - 웹3에 대해 더 알고 싶은 JS 개발자를 위한 커뮤니티

  • Buildspace - 그들 사이트의 글은 "웹3에 관심이 있지만 어디서부터 시작해야 할지 확실하지 않은 개발자라면, 당신에게 적합한 곳입니다. 학습+지금부터 멋진 것을 만들고 NFT를 벌며 암호화된 비밀 일자리를 얻습니다."라고 모든 것을 설명했다.

  • - 무료 토큰을 주조해야 이 커뮤니티에 가입할 수 있지만, 가치가 있다.그 중 한 창작자는 앞에서 나드 다비트를 언급한 적이 있다.
  • 첫 번째 항목


    BlockchainJS에서는 웹3을 어떻게 배우기 시작하는지, 어떤 강좌를 보는지에 대한 토론이 있다.우리는 모두buildspace가 가장 좋은 자원이라고 생각해서 우리의 첫 번째 응용 프로그램을 구축하여 서버에서 경험을 공유하기 시작했다.
    이 애플리케이션은 Wave Portal입니다.
  • 기본 견고성을 사용한 스마트 개발 계약
  • 로컬 운영 및 테스트 계약
  • 사용자가 우리에게 손을 흔드는 것이 무엇인지, 어떤 지갑 주소에서 왔는지 추적하기 위해 블록체인에 스마트 계약을 작성하고 배치한다.
  • 계약을 이더리움 링크비 네트워크에 배치한다. 이것은 테스트 네트워크로 우리가 사용하는 것은 가짜 이더리움
  • 이다.
  • 애플리케이션에 지갑 연결
  • 랜덤으로 가짜 링크비 eth
  • 를 사용하여 저희에게 손을 흔드는 유저를 보상합니다
  • React에서 전단을 구축하고 배치된contract
  • 와 연결
  • 사용자가 웨이브와 함께 메시지를 제출하도록 합니다.이러한 데이터를 블록체인에 저장합니다.우리 사이트에 이 데이터를 표시하면 누구나 우리를 향해 손을 흔드는 모든 사람과 정보를 볼 수 있다.
  • 필기


  • 거래-우리가 이더리움 블록체인에서 실행하고자 하는 모든 조작.예를 들어 스마트 계약을 배치하고 누군가에게 이메일을 보내는데 우리 프로그램에서 웨이브를 추가하고 있다
  • .

  • Etherscan는 이더리움 블록체인 거래와 관련된 모든 미결 또는 확인된 데이터를 볼 수 있는 도구입니다.이더리움은 공개적인 블록체인이기 때문에 언제 누구와 상호작용을 하든 이 행위는 거래 역사에 기록되고 누구에게나 개방된다.
  • 광산을 채굴하다


    블록체인에서의 어떤 거래도 광부들이 발굴해야 한다.이것은 그들이 그것을 주워서 계산을 하고 컴퓨터 전원으로 그것들을 블록에 추가하고 보상을 요구하고 있다는 것을 의미한다.거래가 발굴되면 합법적인 거래로 블록체인에 방송된다.그곳에서 모든 사람들이 그들의 블록체인 던전을 업데이트할 것이다.
    WavePortal은 이더리움 링크비 테스트 네트워크에서 구축된 것이기 때문에 나는 진정한 ETH 값을 사용할 필요가 없다.테스트망은 실제 광부들이 운행하여 실제 세계의 장면을 모의한다.이것이 바로 전체 거래가 블록체인에 추가되는 방식입니다.
  • 방송 거래(wave with 메시지는 특정 사용자의 지갑 주소로 완료)
  • 진정한 광부를 기다리는
  • 채굴 대기
  • 블록체인으로 다시 방송될 때까지 기다렸다가 다른 모든 광부들에게 그들의 복사본을 업데이트하라고 알려준다
  • 그러나 어떻게 현지에서 그것을 테스트해서 휘두르는 것이 효과가 있는지 봅니까?나는 어쩔 수 없이 ETHtransactions gas를 지불해야 한다. 현실 세계에서 나는 진정한 ETH**를 사용할 것이다.
    내 지갑 주소에 가짜 ETH를 추가하기 위해서, 나는 수도꼭지라는 물건에서 가짜 ETH를 수령해야 한다.buildspace팀에서 추천한 제품은 매우 적습니다.

    배치 계약

  • 계약을 배치하려면 네트워크에 로그인하여 사용자 신분으로 인증해야 한다. 이것이 바로 지갑의 공개 키와 개인 키가 필요한 곳이다.
  • 배치 후 계약 주소를 받았습니다. https://etherscan.io/에서 찾을 수 있습니다.내 예에서, 그것은 https://rinkeby.etherscan.io/ 링커비 테스트 네트워크의 이더리움 스캐닝이었다.
  • 내가 스마트 계약을 구축할 때 일부 기본 버전이 블록체인에 배치되었다. 내가 변화를 하고 싶을 때마다 나는 전체 계약을 재배치해야 한다.기본적으로 그것은 새 것이지 구 버전의 갱신판이 아니다.
    왜?스마트 계약은 변하지 않기 때문에 바꿀 수 없다.
    그래서 만약 내가 이전 버전의 계약서에서 몇 번 손을 흔들었다면, 나는 그것을 잊어야 했다. 나는 그것을 다시 사용하지 않을 것이다.재배치 후, 나는 나의 프로그램을 빛나는 새로운 계약에 연결할 것이다.
  • 기체 한계


    building 프로그램의 다음 부분은 eth(테스트 네트워크에서 온 것)를 내 포털 사이트에 무작위로 손을 흔드는 사람에게 보내는 것이다.문제: 계약서에 보상이 있다면 웨이버는 더 많은 휘발유를 지불해야 한다. 왜냐하면 우리가 실행하는 코드가 더 많기 때문이다.
  • 천연가스를 추산하는 것은 어려운 문제로 간단한 해결 방법은 제한을 설정하는 것이다.
  • 클라이언트에서 나는 사용자가 30만 위안의 고정 금액의 천연가스를 지불하도록 wavePortalContract.wave(message, { gasLimit: 300000 })를 추가했다.그리고 거래에서 모두 사용하지 않으면 자동으로 환불된다.
  • 따라서 거래비용이 250000가스일 경우 거래가 완료된 후 사용자가 사용하지 않은 남은 50000가스는 반환
  • 융자 계약


    왜?누군가에게 ETH를 보내려면 계약서에 ETH가 있어야 합니다.*우리는 직접 우리의 계좌에서 eth를 보내지 않을 것이다.계약 자체에 자신의 잔액이 있습니다. 저희가 제공합니다:)
    그것의 작업 원리는 우리가 처음으로 계약을 배치할 때, 우리는 그것을 지원할 것이다.
    시공 인원을 정확하게 설정하면 계약이 만료될 수 있다.
    constructor() payable {
      console.log("We have been constructed!");
    }
    
    지원 계약이 구축되면 Etherscan에서 지원 계약의 균형을 확인할 수 있습니다.내 예에서, 그것은 마치 화면 아래에 있는 것처럼 보인다. 나는 0.01개의 가짜 ETH로 m 계약에 자금을 제공했다.그것은 0.0002 eth가 부족합니다. 왜냐하면 이것은 내 응용 프로그램의 일부 'Waver' 에 무작위로 분배되었기 때문입니다.

    Rinkeby Etherscan에서 귀하는 계약 자체를 검증하고 이미 발생한 거래를 확인할 수 있습니다.

    질문


    제 것이 아닙니다.buildspace를 직접 인용합니다.이것은 매우 재미있다.
  • 보통 프로그램에서 무작위 수를 생성할 때 컴퓨터에서 선풍기의 속도, CPU의 온도, 오후 3시 52분에'L'을 눌렀던 횟수, 인터넷 속도, 그리고 제어하기 어려운 대량의 다른 숫자를 얻을 수 있다.이것은 모든'랜덤'숫자를 하나의 알고리즘으로 조합하여 진정한'랜덤'숫자라고 생각하는 가장 좋은 시도 숫자
  • 를 생성한다.
  • 블록체인에 임의적인 출처가 거의 없다.계약서에서 본 모든 것을 대중이 볼 수 있다.그렇기 때문에 스마트 계약을 보고 어떤 숫자에 의존해 랜덤성을 실현하는지 보고 정확한 숫자를 주어 경기를 이길 수 있다.
  • 공구.

  • 이태방 개발 환경.로컬 블록체인 서버 구축 및 계약 배포
    https://hardhat.org/
  • 클라이언트가 React js
  • 를 사용하여 수행
  • Metamask-ETH 지갑
  • Alchemyhttps://www.alchemy.com/-블록체인층-AWS, 곡가운 또는 마이크로소프트Azure로 변경.
    Alchemy는 광부들이 가능한 한 빨리 이 거래를 얻을 수 있도록 계약을 방송하는 데 도움을 주었다
  • 이더넷 스캔은 우리에게 블록체인 상태를 보여주고 거래 상황을 이해하는 데 도움을 주는 곳이다.
    링크비 테스트망의 이더리움 스캐닝: https://rinkeby.etherscan.io/
  • 수도꼭지
  • 최종 사이트

  • Project website
  • 브라우저에 설치하고 설정해야 Metamask
  • 다음은요?

  • 암호화 좀비
  • Solidity
  • 로 구축된 내 NFT 시리즈를 표시하는 Web3 어플리케이션
  • 견고성에 대한 자세한 내용
  • 좋은 웹페이지 즐겨찾기