Code Monkey home page Code Monkey logo

rosetta-sdk-go's Introduction

rosetta-sdk-go

Coinbase Coverage Status Go Report Card License GoDoc

What is Rosetta?

Rosetta is a new project from Coinbase to standardize the process of deploying and interacting with blockchains. With an explicit specification to adhere to, all parties involved in blockchain development can spend less time figuring out how to integrate with each other and more time working on the novel advances that will push the blockchain ecosystem forward. In practice, this means that any blockchain project that implements the requirements outlined in this specification will enable exchanges, block explorers, and wallets to integrate with much less communication overhead and network-specific work.

Versioning

  • Rosetta version: 1.3.0

Installation

go get github.com/coinbase/rosetta-sdk-go

Automatic Assertion

When using the helper methods to access a Rosetta Server (in fetcher/*.go), responses from the server are automatically checked for adherence to the Rosetta Interface. For example, if a BlockIdentifer is returned without a Hash, the fetch will fail. Take a look at the tests in asserter/*_test.go if you are curious about what exactly is asserted.

It is possible, but not recommended, to bypass this assertion using the unsafe helper methods available in fetcher/*.go.

Development

  • make deps to install dependencies
  • make gen to generate models and helpers
  • make test to run tests
  • make lint to lint the source code (included generated code)
  • make release to check if code passes all tests run by CircleCI

License

This project is available open source under the terms of the Apache 2.0 License.

© 2020 Coinbase

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.