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.
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.
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.
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.
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.
Please visit our Github wiki.
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.
$ 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.