karma

package module
v0.0.0-...-4f02c87 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 20, 2018 License: AGPL-3.0 Imports: 0 Imported by: 0

README

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

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.

Documentation

Overview

This file exists solely for the purpose of providing an index page on godoc.org

Directories

Path Synopsis
Package abi provides methods for encoding and decoding JSON and Solidity ABI payloads.
Package abi provides methods for encoding and decoding JSON and Solidity ABI payloads.
ast
Package ast contains Go type definitions representing AST nodes produced by solc, the Soldity compiler.
Package ast contains Go type definitions representing AST nodes produced by solc, the Soldity compiler.
extract
Package extract contains methods to extract type information from ast.Node trees.
Package extract contains methods to extract type information from ast.Node trees.
Package auth defines the Authenticator interface and a registry for pluggable authentication providers.
Package auth defines the Authenticator interface and a registry for pluggable authentication providers.
fs
Package fs implements a filesystem-based auth.Authenticator.
Package fs implements a filesystem-based auth.Authenticator.
Package config holds configuration items set in command-line flags and environment variables.
Package config holds configuration items set in command-line flags and environment variables.
Package types defines structures to represent the Solidity type system.
Package types defines structures to represent the Solidity type system.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL