Giter Site home page Giter Site logo

muay1430 / iov-core Goto Github PK

View Code? Open in Web Editor NEW

This project forked from iov-one/iov-core

0.0 2.0 0.0 2.08 MB

Client library for secure key management and mutli-blockchain communication

Home Page: https://iov-one.github.io/iov-core-docs/

License: Apache License 2.0

Shell 0.95% TypeScript 69.99% JavaScript 29.06%

iov-core's Introduction

IOV-Core

Build Status

This repo is provides core functionality to all clients in a cross-platform typescript library. This can be used to build cli/gui clients, automated scripts, or help build bcp-proxy apps.

Main functionality provided:

  • Solid crypto library with HD support for ed25519 (following SLIP-0010, ledger compatible)
  • Secure private key management, including encrypted local storage for both browser and node
  • Generic, type-safe adaptor to read/write on tendermint rpc server (with http/s and ws/s support)
  • Adaptor to query / create transactions for IOV's testnet of the BNS blockchain
  • Adaptor for key management using IOV's BNS ledger app
  • High level controller for managing multiple user profiles and various key material
  • High level controller for managing read/write connections to multiple blockchains (CoreWriter)
  • Integration with REPL environment for quick prototyping for developers

This is still in pre-alpha state and will evolve quickly as we add support for multiple blockchains, more transactions types, and better extensibility. However, all attempts have been made that the foundational code is quite solid. A security audit and stable release will occur along with the timeline of IOV's mainnet launch, but developers looking for client-side libraries can do initial prototypes with the current state.

We are actively building out multiple clients on top of this library and shaking out usability issues in the API.

Compatibility

The compiled code from this package, which is published on npm, should work on any modern (2018) browser, and node 8+. The development environment has been tested on node 8.7.0 LTS and node 10.x.

Yarn not Npm Please npm install -g yarn and use yarn install, yarn build, etc. Developers you installed with npm i have reported problems in compiling, so wipe out node_modules and enjoy yarn.

CI Tests:

  • Linux: node 8, chrome
  • OSX: node 8, chrome, firefox, safari
  • (Hope to add windows + edge ci tests in the future)

Windows note: The development tools definitely work under windows in "Linux subsystem for windows" bash shell. They most likely work under cygwin as well. But they do rely on minor shell scripting.

Gettting Started

The best way to learn about code is to use it. You can read some examples in @iov/core. And you can use a REPL to interactively try the code.

Once you understand the basics, you can dig in deeper with the API documentation.

Api Docs

Documentation is published at https://iov-one.github.io/iov-core-docs/.

To build the documentation locally, run yarn install && yarn build && yarn docs in this repository. This will generate a ./docs directory in each package that you can browse locally to see API docs on the various packages.

License

This repository is licensed under the Apache License 2.0 (see NOTICE and LICENSE).

iov-core's People

Contributors

ethanfrey avatar will-iov avatar webmaster128 avatar isabello avatar petabytestorage avatar rudi-cilibrasi avatar muay1430 avatar

Watchers

James Cloos avatar  avatar

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.