Connect classical systems to the blockchain
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
abi
ast
auth
config
link
types
LICENSE
README.md
placeholder.go

README.md

karma.link

karma.link is a cross-platform RPC server that allows 'classic' IT systems to interact with smart contracts on the Ethereum blockchain network through JSON.

GoDoc Go Report Card

Overview

karma.link aims to bridge the gap between 'classic' IT development and the blockchain world. In particular, karma.link exposes an easy-to-use JSON API that allows desktop, web & mobile applications to execute parts of their workload on the Ethereum blockchain. This makes it possible to build conventional apps that leverage blockchain technology where adequate.

In contrast to software like the Mist browser, karma.link is designed as an infrastructure tool for businesses. In this context, users act on behalf of the organization they represent, fulfilling their jobs as instructed by their employer instead of acting of their own accord.

Features

Private Key Management

karma.link is designed with businesses in mind, where identities are associated with companies and organizations rather than individuals. As such, it is the system administrator's job to connect natural users with pertinent Ethereum identities, according to company policy and governance rules. This is why private key management is the most important point in karma.link's feature set.

Smart Contract Management

Writing smart contracts in Solidity is a straightforward task for a developer. However, deploying and managing contracts on a company scale requires tools; system administration tools. karma.link can read, understand and manage smart contracts. As such, it can give an operator valuable insights into their API surface. Futhermore, karma.link can deploy a managed contract easily and report on its state.

On-the-fly Translation

Ethereum smart contracts speak a rather complex binary format called the Solidity ABI. Software libraries like web3 (for Javascript & Python) make it possible to encode and decode data in the ABI format. However, making effective use of these libraries is not always as easy as one could wish and a moderate amount of knowledge is required to do it well. karma.link understands Solidity's type system and ABI. This allows it to abstract the binary format away completely. External services can invoke smart contracts through karma.link using only JSON and read back the results in JSON just as easily. This makes karma.link easy to integrate in any modern backend environment.

Documentation

Please visit our Github wiki.

Project State

karma.link was released on Thursday, July the 5th. It is currently in MVP phase. Any and all APIs are subject to change without notice.

Installation

Requirements

Fetch & Build

$ go get github.com/karmarun/karma.link/link

License & Legal

karma.link is a product of karma.run AG, registered in Zürich, Switzerland.

All files in this repository fall under the open source license found in the LICENSE file in the root of the repository (AGPL v3.0).

This software makes use of external software libraries from the go-ethereum project, which are licensed under the GNU Lesser General Public License v3.0.