RSK 블록체인 노드 시작 가이드

13217 단어
RSK는 비트코인 네트워크와의 통합 발굴에 힘입어 비트코인 광부들이 같은 작업으로 RSK의 사이드체인을 발굴할 수 있도록 하는 안전한 스마트 계약 플랫폼이다.이것은 RSK 매우 높은 해시율의 기초로 현재 비트코인 네트워크 해시율의 약 63%에 달한다.따라서 RSK는 가장 안전한 스마트 계약 플랫폼입니다.
RSKj는 RSK 네트워크에서 노드를 실행하는 데 사용되는 소프트웨어입니다.
Github에서 찾을 수 있습니다.
rsksmart/rskj .

RSK 네트워크와의 상호 작용


RSK 네트워크와 상호 작용 가능
자신의 노드를 실행할 필요가 없이 여러 방식으로 운행한다.

RSKj에 연결


너는 뛸 수 있다
RSKj 공용 RSK 네트워크에 로컬 연결 -
  • Connect to RSK Mainnet

  • Connect to RSK Testnet .
  • Also, check out an alternative to connecting to the
    public nodes.


    또한 RSKj를 로컬 호스트에만 실행할 수 있으며RSK Regtest 공용 네트워크에 연결하지 않아도 됩니다.

    dApp과 상호 작용


    dApp과 상호작용을 하려면 Web3 enabled wallet software RBTC와 RIF 기호화폐를 지원하는 지갑을 사용할 수 있습니다.

    RSK에 연결할 MetaMask 구성


    Metamask를 RSK에 연결하도록 구성하려면
    단계별 가이드 참조
    how to interact with a DApp on RSK using Remix and MetaMask .
    믹스와 메타마스크 모두 최초로 이더리움을 위한 도구로
    RSK의 역량 덕분입니다.
    지능형 계약을 수행하는 가상 시스템에서
    JSON-RPC를 사용하는 통신 프로토콜에서
    RSK 에서도 이 툴을 사용할 수 있습니다!
    RSK의 Testnet에서 간단한 스마트 계약을 만들고 배치할 것입니다.

    RSK 네트워크 상태 확인


    RSK 네트워크 상태를 실시간으로 확인하려면 다음을 사용하십시오.
  • RSK Mainnet Stats
  • RSK Testnet Stats

  • 다음 도구를 사용하여 특정 트랜잭션과 배포된 스마트 계약의 상태를 확인할 수도 있습니다.
  • RSK Explorer
  • RSK Testnet Explorer
  • RIF Smart Contract 주소를 참조하십시오. 이 주소: 0xc218fc2b765ab321a907d6125fe7763e2eaec8e16dd4a72e1a4829a9baa2451a 는 사무 해시입니다.이러한 유형의 거래는 외부가 보유한 계좌가 집행하는 것도 아니고 스마트 계약이 집행하는 것도 아니라는 것을 알게 될 것입니다.사실상 REMASC 거래였다.

    Reward Manager Smart Contract (REMASC) is a pre-compiled smart-contract that is executed on every block and has the responsibility to fairly distribute rewards collected from transaction fees into several participants of the network.


    보낸 사람: REMASC architecture
    이런 유형의 거래는 비트코인과 이더리움에서 찾을 수 없지만 RSK 네트워크가 차단 시간을 어떻게 실현하는지의 관건적인 구성 부분이다. 이 차단 시간의 빈도는 스마트 계약을 바탕으로 하는 분산 응용 프로그램을 지원하고 비트코인과 합병 발굴을 할 수 있다.
    자세한 내용은 fast payments를 참조하십시오.

    JSON-RPC 요청 보내기


    JSON-RPC 요청을 보내려면 을 참조하십시오.
    JSON-RPC Methods
    RSK는 현재 지원합니다.

    테스트 토큰 가져오기


    RSK 테스트 네트워크에서 사용되는 테스트 토큰(tRBTC)을 보려면 수도꼭지를 사용하십시오.
  • tRBTC 토큰tRBTC Faucet 획득
  • 에서 tRIF 토큰을 획득합니다.
  • 삼각 수도꼭지 개시하다


    만약 이상이 당신의 요구에 부합되지 않는다면,
    RSK 노드를 실행해야 합니다.
    특히 스마트 계약을 개발하고 있다면,
    DAPP를 개발하거나 해킹 경연에 참가할 경우
    빠른 교체를 원할 수도 있기 때문에 더 빠른 피드백 순환이 필요하다.
    RSKj 를 Regtest 모드에서 실행하는 것이 이러한 요구 사항에 가장 적합합니다.

    시스템 요구 사항


    RSKj 노드를 설치하는 데 필요한 최소 요구 사항은 다음과 같습니다.
  • 2셀
  • 8GB 메모리
  • 50GB 스토리지
  • OS x64
  • Java 설치


    RSKj 실행 파일은 JAR 파일입니다.
    를 실행하려면 Java가 필요합니다.
    의 지침을 참조하십시오.
    how to install the Java 8 JDK

    RSKj-JAR 다운로드


    로 이동합니다.
    최신 버전에서 비슷한 이름rskj-core-*.jar의 파일을 다운로드했는데 그 중에서*는 발표 탭 이름으로 바뀌었다. 예를 들어2.2.0-PAPYRUS.

    RSKj 게시 페이지 RSKj 실행


    RSKj를 실행하려면 아래 명령을 복사하여 터미널rskj-core-*.jar에 붙여 넣으십시오.
    java -cp <PATH-TO-THE-RSKJ-JAR> \
      -Drpc.providers.web.cors=* \
      co.rsk.Start \
      --regtest
    
    위의 명령은 Regtest에 연결된 RSKj를 실행합니다. 이것은 노드를 시작할 때마다 데이터베이스를 지우고 두 개의 COR를 사용합니다.스마트 계약과 DAPP를 개발하거나 테스트할 때 가장 유용하고 자주 사용하는 플래그 및 옵션입니다.
    출력을 보지 못하면 좋은 일입니다. 출력이 로그 파일로 지정됩니다.

    Note: Remember to replace with the path which contains the downloaded jar file. See example command below.


    java -cp /Users/owanate/Downloads/rskj-core-2.2.0-PAPYRUS-all.jar \                   
      -Drpc.providers.web.cors=* \
      co.rsk.Start \
      --regtest
    

    개발 도구


    송로


    RSK 테스트 네트워크에 연결하기 위해 Truffle을 구성하는 방법은 다음과 같습니다.
    덩어리균 프로젝트에서 이 점을 어떻게 실현하는지에 관해서는 아래의 코드를 참조하시오.localhost 파일에서 다음을 수행합니다.
    (1) 올바른 BIP-39 연상기호 구문을 포함하는 변수 설정truffle-config.js(2) 사용하고자 하는 위 단위의 천연가스 가격을 포함하는 변수testnetSeedPhrase를 설정합니다.
    (3) 내보낸 gasPriceTestnet 객체에서 config 값을 다음 값으로 설정합니다.
    testnet: {
          provider: () => new HDWalletProvider({
            mnemonic: {
              phrase: testnetSeedPhrase,
            },
            providerOrUrl: 'https://public-node.testnet.rsk.co/',
            derivationPath: "m/44'/37310'/0'/0/",
            // Higher polling interval to check for blocks less frequently
            pollingInterval: 15e3,
          }),
          // Ref: http://developers.rsk.co/rsk/architecture/account-based/#chainid
          network_id: 31,
          gasPrice: gasPriceTestnet,
          networkCheckTimeout: 1e6,
          timeoutBlocks: 100,
          // Higher polling interval to check for blocks less frequently
          // during deployment
          deploymentPollingInterval: 15e3,
        },
    
    이렇게 하면 Truffle의 기본 구성 값(이태방 기반)을 이해할 수 있습니다.
    특히 투표 간격을 둘러싸고이 두 가지 비교적 새로운 설정 옵션을 사용하면 Truffle를 설정하여 RSK 노드에 더욱 잘 연결할 수 있습니다.
    자세한 내용은 를 참조하십시오.
    .

    디버깅


    RSK에서 트랜잭션을 디버깅해야 합니까?
    예 참조Configuring Truffle to RSK

    만약 당신의 계약이 회답에서 메시지를 보낸다면, 당신은 config.networks.testnet로 그것들을 찾을 수 있습니다.
    RSK 구성에서는 기본적으로 디버그 RPC 모듈이 활성화되지만 공통 노드에서는 비활성화됩니다.
    또한 RSK 공용 노드에서는 이 기능을 공개하지 않으므로 자신의 노드를 실행해야 합니다.
    다음은 포트debug_traceTransaction에서 RPC를 실행하는 로컬 노드가 있다고 가정합니다.
    먼저 구성 파일에서 4444 모듈을 활성화해야 합니다.
    modules = [
        ...
        {
            "name": "debug",
            "version": "1.0",
            "enabled": "true",
        },
        ...
    ]
    
    그리고 전송 가능
    이 예와 같이 트랜잭션 ID는 매개변수로 사용됩니다.
    curl \
        -X POST \
        -H "Content-Type:application/json" \
        --data '{"jsonrpc":"2.0","method":"debug_traceTransaction","params":["0xa9ae08f01437e32973649cc13f6db44e3ef370cbcd38a6ed69806bd6ea385e49"],"id":1}' \
        http://localhost:4444
    
    당신은 다음과 같은 응답을 받을 것입니다
    (간결성을 위해 자르기):
    {
        ... 
        "result": "08c379a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001e536166654d6174683a207375627472616374696f6e206f766572666c6f770000",
        "error": "",
        "reverted": true,
        ...
    }
    
    마지막으로 debug를 16진수에서 ASCII로 변환합니다.
    읽을 수 있는 메시지를 보려면 다음과 같이 하십시오.
    Ãy  SafeMath: subtraction overflow
    

    Stackoverflow에서 RSK 네트워크의 트랜잭션을 디버깅하는 방법 RPC



    RSK 노드가 통과하는 주요 인터페이스
    인터넷을 통해 교류하다.
    RSK의 JSON-RPC는 이더리움의 JSON-RPC와 높은 호환성을 가지고 있다.
    JSON-RPC는 두 가지 네트워크 전송 프로토콜을 통해 사용할 수 있다: HTTP와 WebSockets
  • Remote Procedure Calls (JSON-RPC)
  • Note that RSK public nodes
    do not expose WebSockets, they are HTTP only.
    To work around this, you may either
    run your own RSK node,
    or use a third-party node provider,
    such as Getblock.


    HTTP를 통한 RPC 구성 및 사용 마무리


    본고에서 우리는 서로 다른 공공 RSK 네트워크와 상호작용과 연결을 했고 Metamask를 RSK에 연결하고 result 네트워크의 RSK 노드를 다운로드하고 실행하도록 설정했다.
    읽어주셔서 감사합니다!

    For more tutorials and guides, check out the RSK/RIF knowledgebase in DevPortal.


    본문은 최초로 발표되었다Configuring and using RPC over WebSockets

    영예


    Hackernoon 가 이 안내서를 읽을 때 제공해 주셔서 감사합니다!

    좋은 웹페이지 즐겨찾기