Temporal
☄️ Temporal is an easy-to-use, enterprise-grade interface into distributed and decentralized storage
Install / Use
/learn @RTradeLtd/TemporalREADME
The hosted service for this project is being shutdown. For more information consult this github issue
<h1 align="center">Temporal ☄️</h1> <p align="center"> <a href="#about-temporal"><strong>About Temporal</strong></a> · <a href="#web-interfaces"><strong>Web Interfaces</strong></a> · <a href="#usage-and-features"><strong>Usage and Features</strong></a> · <a href="/CONTRIBUTING.md"><strong>Contributing</strong></a> · <a href="#license"><strong>License</strong></a> · <a href="#thanks"><strong>Thanks</strong></a> </p> <p align="center"> <a href="https://t.me/RTradeTEMPORAL"> <img src="https://patrolavia.github.io/telegram-badge/chat.png"/> </a> <a href="https://godoc.org/github.com/RTradeLtd/Temporal"> <img src="https://godoc.org/github.com/RTradeLtd/Temporal?status.svg" alt="GoDocs available" /> </a> <a href="https://travis-ci.com/RTradeLtd/Temporal"> <img src="https://travis-ci.com/RTradeLtd/Temporal.svg?branch=V2" alt="Travis Build Status" /> </a> <a href="https://github.com/RTradeLtd/Temporal/releases"> <img src="https://img.shields.io/github/release-pre/RTradeLtd/Temporal.svg" alt="Release" /> </a> <a href="https://app.fossa.io/projects/git%2Bgithub.com%2FRTradeLtd%2FTemporal?ref=badge_shield" alt="FOSSA Status"> <img src="https://app.fossa.io/api/projects/git%2Bgithub.com%2FRTradeLtd%2FTemporal.svg?type=shield"/> </a> <a href="https://goreportcard.com/report/github.com/RTradeLtd/Temporal"> <img src="https://goreportcard.com/badge/github.com/RTradeLtd/Temporal" alt="Clean code" /> </a> </p> <br>Multi-Language
About Temporal
Temporal is an enterprise-grade storage solution that allows you easily integrate with distributed storage technologies like IPFS, without sacrificing functionality with an easy to use API leveraging all the benefits the distributed web has to offer.
Temporal's API comes in two flavors, hosted or on-site. Should you not have the resources, or interest in maintaining your own infrastructure you can take advantage of our hosted API running in our very own datacenter. Those who have the interest, and/or resources may deploy Temporal within your own environments. For those that deploy Temporal themselves, we offer paid for support, installation, tutorials, and product usage information sessions allowing organizations to leverage all the capabilities that Temporal offers.
Temporal is modular such that the underlying protocols it connects to, can easily be upgraded, and replaced with without having to change the overall architecture. See our protocol-expansion.md documentation for details on extending the available functionality.
We have comprehensive API documentation available here as well as an in-depth wiki which contains additional information such as architectural diagrams, design decisions, and more.
Benefits Over Direct IPFS HTTP API Access
- Authenticated API access
- Better performance via load balanced requests to different ipfs nodes
- Leverage multiple different nodes from a single API
- Requests are distributed round-robin across different nodes
- Built-in handling of IPFS and IPFS Cluster requests
- Content encryption
- At rest encrypted of IPFS keys
- More efficient IPNS publishing
- Easy to scale up, simply spin up additional queue runners with a single command
Goals
- Provide an easy to use interface into distributed and decentralized storage technologies.
- Target developers via the API, and non-developers via the web interface.
- Educate about decentralized and distributed storage technologies.
- Introduce these new storage technologies to audiences who may have otherwise not heard of them.
- Help organizations make informed decisions about whether or not integrating distributed and decentralized storage technologies is the right choice for your business needs.
Versioning Policy
Information about our versioning policies are available in VERSIONING.md
Web Interfaces
For those less interested in API usage, we have a web interface which can be used with two methods of access:
Please note that support for the I2P Interface is very experimental at the moment and does not offer HTTPS, as well as very infrequent updates.There are no stability, or even functionality guarantees for the I2P interface.
How We're Different
Temporal gives everyone the chances to run their own enterprise grade IPFS infrastructure without needing to rely on third-party API providers that dominate the blockchain development market. However if you are unable to do this, you can use our hosted API running in our very own datacenter, using the exact same open-source code you see here.
By using our hosted API you can experience the same level of enterprise quality service that you can setup in your own environments, whether that be cloud VMs, your own datacenter, or a server under your bed. Additionally, by building your applications decentralized or centralized with Temporal, you won't be vendor locked in if you decide to transition to a self-hosted infrastructure, because all it takes is changing a single URL that your application points to.
Temporal provides a first of its kind API that outweighs every other third-party IPFS and decentralized storage API on the market so you can fully leverage all the benefits the distributed web has to offer.
Funding
Currently the project is paid for by RTrade Technologies Ltd, and we will not be doing an ICO. Funding is derived from private investment, mining farm profits, as well as purchasing of RTC.
Should you wish to consider donations, or private investment, email admin@rtradetechnologies.com.
Should you wish to contribute not just to Temporal, but to the overall success of RTrade and our platform, you may purchase RTC for ETH from our RTCETH Smart Contract
Media
Channels:
Selected Content:
Data Privacy
Our datacenter and cloud environments are all located within Canada, which has exceptional data-privacy laws. We comply with all laws and regulations surrounding data storage regulation within Canada. Should you feel like there is any discrepancy here, please contact us at admin@rtradetechnologies.com and we will be happy to resolve your concerns, and if there's anything we need to change, we will do so.
One of the big concerns with IPFS, and even cloud data storage in general is encryption. As IPFS doesn't yet support native data encryption, we allow users to encrypt their data using AES256-CFB. While this is better than storing data without encryption on IPFS, there are still some concerns with encrypted data storage on IPFS. Namely, if anyone is ever able to discover the content hash and pin the content, it will always be available to them. This is of big concern when using encryption algorithms as it is theoretically possible for someone to persist that data within their own storage system until the desired ciphers are broken, and they can crack the encryption algorithm. If this is something that is of concern to you, an even better solution is to encrypt your data, and store in on private networks. We have plans to eventually migrate to AES256-GCM which is more secure than AES256-CFB, and allow encryption of data with IPFS keys.
Usage and Features
Before attempting to use Temporal you will need to install it. Even if you are going to be using our dockerized tooling, an install of Temporal is needed primarily for configuration file initialization.
Please note that a full-blown Temporal instance including the payment processing backend can take awhile, and requires an API key for ChainRider as well as a fully synced geth node, and bchd node. We will not be covering the setup of either chainrider, geth, and bchd, please consult appropriate documentation for setting those up. Should you want to read about our payment processing backedn see RTradeLtd/Pay
For a minimal setup you do not need to configure anything related to the aforementioned topics (geth, pay, bch, etc..). It is worth mentioning though that running a minimal setup doesn't disable the payment API calls, so if someone were to place these API calls against your minimal setup it might result in unexpected errors, such as panics. If this happens please open a bug report on github.
The rest of this usage documentation will be covering a bare-minimum Temporal setup which does not include any payment processing capabilities. Thus you will not be able to "purchase credits" the remedy to this is to manually alter user account balances, or promote a user to partner tier, registering an organization, and then creating all new users under that organization. This effectively side-steps the billing process, and requires no
