Skip to content

Commit

Permalink
Update readme and add travis config
Browse files Browse the repository at this point in the history
Signed-off-by: Yilun <[email protected]>
  • Loading branch information
yilunzhang committed Apr 10, 2020
1 parent ff001fc commit 59be53a
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 15 deletions.
4 changes: 4 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
language: go

go:
- 1.13
32 changes: 17 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,41 +1,42 @@
# nkn-sdk-go

[![GoDoc](https://godoc.org/github.com/nknorg/nkn-sdk-go?status.svg)](https://godoc.org/github.com/nknorg/nkn-sdk-go) [![GitHub license](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE) [![Go Report Card](https://goreportcard.com/badge/github.com/nknorg/nkn-sdk-go)](https://goreportcard.com/report/github.com/nknorg/nkn-sdk-go) [![Build Status](https://travis-ci.org/nknorg/nkn-sdk-go.svg?branch=master)](https://travis-ci.org/nknorg/nkn-sdk-go) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](#contributing)

Go implementation of NKN client and wallet SDK. The SDK consists of a
few components:

* [NKN Client](#client): Send and receive data for free between any NKN clients
- [NKN Client](#client): Send and receive data for free between any NKN clients
regardless their network condition without setting up a server or relying on
any third party services. Data are end to end encrypted by default. Typically
you might want to use [multiclient](#multiclient) instead of using client
directly.

* [NKN MultiClient](#multiclient): Send and receive data using multiple NKN
- [NKN MultiClient](#multiclient): Send and receive data using multiple NKN
clients concurrently to improve reliability and latency. In addition, it
supports session mode, a reliable streaming protocol similar to TCP based
on [ncp](https://github.com/nknorg/ncp-go).
supports session mode, a reliable streaming protocol similar to TCP based on
[ncp](https://github.com/nknorg/ncp-go).

* [NKN Wallet](#wallet): Wallet SDK for [NKN
- [NKN Wallet](#wallet): Wallet SDK for [NKN
blockchain](https://github.com/nknorg/nkn). It can be used to create wallet,
transfer token to NKN wallet address, register name, subscribe to topic,
etc.
transfer token to NKN wallet address, register name, subscribe to topic, etc.

Advantages of using NKN client/multiclient for data transmission:

* Network agnostic: Neither sender nor receiver needs to have public IP address
- Network agnostic: Neither sender nor receiver needs to have public IP address
or port forwarding. NKN clients only establish outbound (websocket)
connections, so Internet access is all they need. This is ideal for client
side peer to peer communication.

* Top level security: All data are end to end authenticated and encrypted. No
- Top level security: All data are end to end authenticated and encrypted. No
one else in the world except sender and receiver can see or modify the content
of the data. The same public key is used for both routing and encryption,
eliminating the possibility of man in the middle attack.

* Decent performance: By aggregating multiple overlay paths concurrently,
- Decent performance: By aggregating multiple overlay paths concurrently,
multiclient can get ~100ms end to end latency and 10+mbps end to end session
throughput between international devices.

* Everything is free, open source and decentralized. (If you are curious, node
- Everything is free, open source and decentralized. (If you are curious, node
relay traffic for clients for free to earn mining rewards in NKN blockchain.)

Documentation:
Expand Down Expand Up @@ -385,7 +386,8 @@ git commit -s

## Community

* [Discord](https://discord.gg/c7mTynX)
* [Telegram](https://t.me/nknorg)
* [Reddit](https://www.reddit.com/r/nknblockchain/)
* [Twitter](https://twitter.com/NKN_ORG)
- [Forum](https://forum.nkn.org/)
- [Discord](https://discord.gg/c7mTynX)
- [Telegram](https://t.me/nknorg)
- [Reddit](https://www.reddit.com/r/nknblockchain/)
- [Twitter](https://twitter.com/NKN_ORG)

0 comments on commit 59be53a

Please sign in to comment.