Bitcoin을 빨리 개발하기위한 JSON 신 패키지를 만들었습니다.

5574 단어 5jsonrpcBitcoin
소개

본 기사는 Go 언어로 JSON-RPC 라이브러리를 개발한 것을 정리하여 다음 내용을 다룹니다.
  • Bitcoin 애플리케이션을 어떻게 개발하는지
  • 이 패키지로 무엇을 할 수 있는가
  • 이 패키지를 어떻게 사용합니까
  • 이 패키지에 기여하려면 어떻게 해야 하는가

  • 소스 코드는 여기입니다.

    요약


  • 정말 사용하기 쉬운 패키지입니다
  • 세상의 대부분의 블록체인 개발은 API 두드리는 게임이다
  • 누구나 할 수 있습니다.
  • 범용적인 JSON-RPC의 래퍼야

  • 동기
    간단하게 여러가지 것을 검색했습니다만, 직관적으로 사용할 수 있는 패키지가 거의 없었다면입니다.
    기존 JSON-RPC의 패키지라면 범용성이 있는 분, 기본 인증이나 다른 메타 정보를 붙이는데 다음과 같이 중복되고 있습니다.
    // クライアントを作成するコード
    // ベーシック認証用のコード
    // 送信
    // ...
    

    나중의 사용법으로 소개합니다만 엄청 사용하기 쉬워지고 있습니다.
    이러한 면에서, 월렛이나 웹 서비스 등 여러 사람에게 개발해 주셨으면 하므로 썼습니다.

    Bitcoin 애플리케이션을 개발하는 방법



    Bitcoin 개발에는 노드와 클라이언트가 필요하며 JSON-RPC로 통신합니다.
    다음과 같은 구도입니다.



    또한 블록체인 개발이지만 아무 것도 신경 쓰지 않습니다.
    Bitcoin에는 공식 API가 있으므로 서버를 두드리는 것만으로 사용할 수 있습니다.

    대부분 블록체인은 이들을 사용한 서비스이며, 본질적으로 아무것도 블록체인이 아닙니다.
    또 확실히 암호는 사용되고 있습니다만, 실제로 엔지니어는 라이브러리를 사용해 주소 생성이나 공개키 암호 방식등을 사용할 수 있으므로 Web 서비스와 아무것도 변하지 않으므로 안심해 주세요.

    실제로 "블록 체인 개발"이라고 할 수있는 것은 실제로 독자 통화를 만드는 사람뿐입니다.

    이 패키지로 무엇을 할 수 있는지



    이 패키지에서는 2018/02/20 단계에서는 다음을 할 수 있습니다.
  • 주소 생성
  • 트랜잭션을 얻거나 디코딩하는 것
  • Block 정보 얻기

  • 앞으로도 정력적으로 개발은 진행해 나가고 Bitcoin 개발이 민주화하는 것을 목표로 하고 있습니다.

    이 패키지를 사용하는 방법



    매우 쉽습니다.
    package main
    
    import (
      "github.com/KeisukeYamashita/go-btcrpc"
    )
    
    func main() {
        basicAuth := &BasicAuth{
            Username: os.Getenv("USERNAME"),
            Password: os.Getenv("PASSWORD"),
        }
        c := NewRPCClient(os.Getenv("BTCD_ENDPOINT"), basicAuth)
        address := "my88QLpf2RYYDdNMmDwYvfx6TFc6NXaELa" //sample
        balance := c.GetBalance(address)
        print(balance) // 0.13514 BTC
    }
    

    단지 이것뿐입니다! ! !

    코드 해설을 합니다.
    기본 인증을 통과하도록 설정하여 JSON-RPC 클라이언트를 초기화합니다.
         basicAuth := &BasicAuth{
            Username: os.Getenv("USERNAME"),
            Password: os.Getenv("PASSWORD"),
        }
        c := NewRPCClient(os.Getenv("BTCD_ENDPOINT"), basicAuth)
    

    그리고 방법을 두드린다. 반환 값으로 결과가 반환됩니다.
    address := "my88QLpf2RYYDdNMmDwYvfx6TFc6NXaELa"
    balance := c.GetBalance(address)
    
    // c.<メソッド名>で用意されています。今回は残高取得という主要コマンドを叩いています。今後全機能対応予定
    

    그뿐입니다.
    이제 누구나 쉽게 개발을 시작할 수 있습니다. 하나님.

    이 패키지에 기여하려면 어떻게 해야 합니까?



    지금부터 여러가지 메소드를 추가해 가고, 결국에는 완전한 Bitcoin 패키지가 되면 좋겠다고 생각합니다.

    개발자는 Pull Request나 Issue를 내주시면 대응하겠습니다.
    더 나은 패키지로 만들고 싶습니다.
    앞으로는 Ethereum, Ripple, Nem, Lisk의 차례로 출시할 예정입니다.

    끝까지 감사합니다!

    소스 코드는 여기입니다.

    좋은 웹페이지 즐겨찾기