cocoon

module
v0.0.0-...-7b2e207 Latest Latest
Warning

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

Go to latest
Published: Jan 26, 2018 License: AGPL-3.0

README


This was a major part of our centralized prototype of the Ellcrys project. It was discontinued after we decided to go decentralized. It was dependent on Github for version control and a centralized database for storage. Here is a video I made in July 2017; This brief video shows how a cocoon-based contract works

SafeHold was the centralized database which was supposed to be an immutable database service based on a tamper-evident data structure we called Patchain.

OpenMint was the first prototype of StackMint's image analysis. It was started 2 years ago and depended on Google Vision API service.


Cocoon

Cocoon is an opinionated smart contract or self-executing application executor. It is the engine that powers Ellcrys' smart contract platform providing the ability to build, run and interact with isolated, multi-signature and immutable applications. Cocoon takes advantage of existing technologies such as Docker, Nomad, Postgres and more to provide a fast, scalable and easy to use smart contract engine.

Is Cocoon another Ethereum?

Cocoon and Ethereum share a common goal to build a platform that can run applications autonomously. However, Ethereum takes the idea further by decentralizing the execution of these applications. This is great and can leading to a world where applications can run without censorship. Although, Ethereum is being actively developed, the project is proving to be hard to build and scale. Cocoon is the no-gimmick smart contract platform that leverages on existing, trusted tools and technologies to build an engine that can perform the function of executing a multi-signature/immutable application. Cocoon is being built to run on centralized infrastructure.

Does Cocoon use a blockchain

No. Cocoon does not directly provide a blockchain. The primary data store for self-executing application to store state is powered by an ACID-complaint, immutable database service. Immutability is provided as a feature (no delete operations). We also have plans to support blockchain immutability by providing contract operations to store objects on the Ethereum blockchain.

What languages are supported?

Contract applications are currently built with the Go programming language. We are working to support Javascript, Ruby, PHP and Python soon.

Features

  • Multi-Signature Support: Build contract applications owned and controlled by more that one entity.
  • Immutable Contracts: Contract applications are cloned from Github, versioned and archived forever.
  • Multi-Language Interface: The Cocoon's design exposes an interface that allows us to provide support for any modern day languages.
  • Scalability: Launch multiple instances of a contract application. Incoming requests will be shared between these instances. System resource allocation can be adjusted at any time.
  • Storage: Contract applications are provided with the ability to store data on an ACID-complaint database service.

Directories

Path Synopsis
api
api/api/proto_api
Package proto_api is a generated protocol buffer package.
Package proto_api is a generated protocol buffer package.
cmd
common
Package glogger defines glog-based logging for grpc.
Package glogger defines glog-based logging for grpc.
connector/server/proto_connector
Package proto_connector is a generated protocol buffer package.
Package proto_connector is a generated protocol buffer package.
orderer/proto_orderer
Package proto_orderer is a generated protocol buffer package.
Package proto_orderer is a generated protocol buffer package.
stub
Package golang includes The runtime, which is just a stub that connects the cocoon code to the connector's RPC server.
Package golang includes The runtime, which is just a stub that connects the cocoon code to the connector's RPC server.
stub/proto_runtime
Package proto_runtime is a generated protocol buffer package.
Package proto_runtime is a generated protocol buffer package.

Jump to

Keyboard shortcuts

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