mirror of
https://github.com/ipdb/website.git
synced 2024-11-22 09:36:52 +01:00
commit
ce16114556
@ -3,6 +3,8 @@
|
|||||||
> The blockchain database network for the decentralized stack
|
> The blockchain database network for the decentralized stack
|
||||||
> https://ipdb.io
|
> https://ipdb.io
|
||||||
|
|
||||||
|
**Note: As of January 19th, 2018, IPDB will be shutting down. [Read about why](https://ipdb.io).**
|
||||||
|
|
||||||
[![Build Status](https://travis-ci.org/ipdb/website.svg?branch=master)](https://travis-ci.org/ipdb/website)
|
[![Build Status](https://travis-ci.org/ipdb/website.svg?branch=master)](https://travis-ci.org/ipdb/website)
|
||||||
[![css bigchaindb](https://img.shields.io/badge/css-bigchaindb-39BA91.svg)](https://github.com/bigchaindb/stylelint-config-bigchaindb)
|
[![css bigchaindb](https://img.shields.io/badge/css-bigchaindb-39BA91.svg)](https://github.com/bigchaindb/stylelint-config-bigchaindb)
|
||||||
[![js ascribe](https://img.shields.io/badge/js-ascribe-39BA91.svg)](https://github.com/ascribe/javascript)
|
[![js ascribe](https://img.shields.io/badge/js-ascribe-39BA91.svg)](https://github.com/ascribe/javascript)
|
||||||
@ -10,7 +12,7 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
[**Live**](https://ipdb.io) | [**Beta**](https://beta.ipdb.io) | [**Styleguide**](https://beta.ipdb.io/styleguide/)
|
[**Live**](https://ipdb.io) | [**Styleguide**](https://ipdb.io/styleguide/)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 9.4 KiB |
Binary file not shown.
Before Width: | Height: | Size: 29 KiB |
Binary file not shown.
Before Width: | Height: | Size: 60 KiB |
Binary file not shown.
Before Width: | Height: | Size: 118 KiB |
Binary file not shown.
Before Width: | Height: | Size: 38 KiB |
@ -1,12 +1,11 @@
|
|||||||
$edge-height-sm: $spacer * 2;
|
$edge-height-sm: $spacer * 2;
|
||||||
$edge-height: $spacer * 4;
|
$edge-height: $spacer * 3;
|
||||||
|
|
||||||
.hero {
|
.hero {
|
||||||
background: $brand-07;
|
background: $brand-07;
|
||||||
padding-top: $spacer * 2;
|
padding-top: $spacer * 3;
|
||||||
padding-bottom: 0;
|
padding-bottom: 0;
|
||||||
height: calc(100vh - #{$edge-height-sm});
|
height: calc(80vh - #{$edge-height-sm});
|
||||||
min-height: 580px;
|
|
||||||
margin-bottom: $edge-height-sm;
|
margin-bottom: $edge-height-sm;
|
||||||
position: relative;
|
position: relative;
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -14,8 +13,9 @@ $edge-height: $spacer * 4;
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
@media ($screen-sm) {
|
@media ($screen-sm) {
|
||||||
height: calc(100vh - #{$edge-height});
|
height: calc(90vh - #{$edge-height});
|
||||||
margin-bottom: $edge-height;
|
margin-bottom: $edge-height;
|
||||||
|
min-height: 500px;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:after {
|
&:after {
|
||||||
|
@ -132,7 +132,6 @@ ol {
|
|||||||
|
|
||||||
|
|
||||||
.lead {
|
.lead {
|
||||||
color: $brand-03;
|
|
||||||
font-size: $font-size-large;
|
font-size: $font-size-large;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,287 +1,9 @@
|
|||||||
@import 'variables';
|
@import 'variables';
|
||||||
@import 'hero';
|
@import 'hero';
|
||||||
|
|
||||||
.section--intro {
|
.section--farewell {
|
||||||
.section__description {
|
margin-top: -3rem;
|
||||||
margin-bottom: $spacer * 2;
|
z-index: 2;
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.feature {
|
|
||||||
padding-top: $spacer;
|
|
||||||
padding-bottom: $spacer;
|
|
||||||
|
|
||||||
&:first-child {
|
|
||||||
padding-top: $spacer * 2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.feature__image {
|
|
||||||
margin: 0 auto;
|
|
||||||
background: $brand-05;
|
|
||||||
border-radius: $border-radius;
|
|
||||||
overflow: hidden;
|
|
||||||
max-width: 400px;
|
|
||||||
|
|
||||||
@media ($screen-sm) {
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
img {
|
|
||||||
width: 100%;
|
|
||||||
height: auto;
|
|
||||||
max-width: 100%;
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.feature__title {
|
|
||||||
font-size: $font-size-h4;
|
|
||||||
margin-bottom: $spacer / $line-height;
|
|
||||||
}
|
|
||||||
|
|
||||||
.feature__list {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
margin-top: $spacer;
|
|
||||||
|
|
||||||
li {
|
|
||||||
display: block;
|
|
||||||
color: $brand-02;
|
|
||||||
|
|
||||||
@media ($screen-sm) {
|
|
||||||
display: inline-block;
|
|
||||||
margin-left: $spacer * 2;
|
|
||||||
|
|
||||||
&:first-child {
|
|
||||||
margin-left: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&:before {
|
|
||||||
content: '\2714';
|
|
||||||
font-size: $font-size-small;
|
|
||||||
color: $brand-success;
|
|
||||||
margin-right: $spacer / 4;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.connect__title {
|
|
||||||
font-size: $font-size-h3;
|
|
||||||
}
|
|
||||||
|
|
||||||
.roadmap {
|
|
||||||
border-left: .2rem solid $brand-02;
|
|
||||||
margin-left: $spacer * 2;
|
|
||||||
padding-left: $spacer;
|
|
||||||
margin-top: $spacer * 4;
|
|
||||||
margin-bottom: $spacer * 2;
|
|
||||||
|
|
||||||
@media ($screen-sm) {
|
|
||||||
margin-left: $spacer * 3;
|
|
||||||
padding-left: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media ($screen-md) {
|
|
||||||
margin-left: 0;
|
|
||||||
border-left: 0;
|
|
||||||
border-bottom: .2rem solid $brand-02;
|
|
||||||
|
|
||||||
.row {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.roadmap__step {
|
|
||||||
position: relative;
|
|
||||||
margin-bottom: $spacer * 2;
|
|
||||||
|
|
||||||
@media ($screen-md) {
|
|
||||||
text-align: center;
|
|
||||||
margin-bottom: 0;
|
|
||||||
padding-left: $spacer / 2;
|
|
||||||
padding-right: $spacer / 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
&:after {
|
|
||||||
content: '\2714';
|
|
||||||
color: transparent;
|
|
||||||
text-align: center;
|
|
||||||
font-size: $font-size-mini;
|
|
||||||
line-height: 2;
|
|
||||||
width: 1.75rem;
|
|
||||||
height: 1.75rem;
|
|
||||||
border-radius: 50%;
|
|
||||||
display: inline-block;
|
|
||||||
background: $brand-05;
|
|
||||||
border: .2rem solid #fff;
|
|
||||||
position: absolute;
|
|
||||||
left: -2.95rem;
|
|
||||||
top: -.25rem;
|
|
||||||
|
|
||||||
@media ($screen-md) {
|
|
||||||
position: relative;
|
|
||||||
left: auto;
|
|
||||||
top: auto;
|
|
||||||
bottom: -.95rem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&.is-complete {
|
|
||||||
&:after {
|
|
||||||
content: '\2714';
|
|
||||||
color: $brand-03;
|
|
||||||
background: $brand-success;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&.is-progress {
|
|
||||||
&:after {
|
|
||||||
background: $brand-07;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.roadmap__net,
|
|
||||||
.roadmap__target {
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.roadmap__target {
|
|
||||||
color: $brand-07;
|
|
||||||
}
|
|
||||||
|
|
||||||
.roadmap__time {
|
|
||||||
color: $brand-02;
|
|
||||||
font-size: $font-size-small;
|
|
||||||
|
|
||||||
@media ($screen-md) {
|
|
||||||
position: absolute;
|
|
||||||
left: 0;
|
|
||||||
bottom: -70%;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
// Get started
|
|
||||||
//
|
|
||||||
.section--getstarted {
|
|
||||||
counter-reset: getstarted-steps;
|
|
||||||
|
|
||||||
.feature__image {
|
|
||||||
background: rgba(255, 255, 255, .5);
|
|
||||||
}
|
|
||||||
|
|
||||||
.section__actions {
|
|
||||||
border-top: 0;
|
|
||||||
padding-top: 0;
|
|
||||||
margin-top: $spacer * 2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.getstarted-bigchaindb,
|
|
||||||
.getstarted-tools {
|
|
||||||
padding-top: $spacer * 3;
|
|
||||||
margin-top: $spacer * 3;
|
|
||||||
border-top: .1rem solid darken($brand-05, 8%);
|
|
||||||
|
|
||||||
.grid {
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.feature__image {
|
|
||||||
background: #8e9eb0;
|
|
||||||
display: flex;
|
|
||||||
align-items: flex-end;
|
|
||||||
padding: $spacer;
|
|
||||||
padding-bottom: 0;
|
|
||||||
|
|
||||||
svg {
|
|
||||||
margin-bottom: -.5rem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.getstarted {
|
|
||||||
color: $text-color;
|
|
||||||
counter-increment: getstarted-steps;
|
|
||||||
margin-top: $spacer * 2;
|
|
||||||
display: block;
|
|
||||||
padding-top: $spacer;
|
|
||||||
padding-bottom: $spacer;
|
|
||||||
|
|
||||||
@media ($screen-sm) {
|
|
||||||
display: flex;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
height: 100%;
|
|
||||||
margin-top: 0;
|
|
||||||
padding-left: $spacer * 2;
|
|
||||||
padding-right: $spacer * 2;
|
|
||||||
|
|
||||||
.grid__col:first-child & {
|
|
||||||
border-right: .1rem solid darken($brand-05, 8%);
|
|
||||||
padding-left: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.grid__col:last-child & {
|
|
||||||
border-left: .1rem solid darken($brand-05, 8%);
|
|
||||||
padding-right: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.getstarted__title {
|
|
||||||
font-size: $font-size-h4;
|
|
||||||
margin-bottom: $spacer / 4;
|
|
||||||
|
|
||||||
a & {
|
|
||||||
color: $link-color;
|
|
||||||
}
|
|
||||||
|
|
||||||
&:before {
|
|
||||||
content: counter(getstarted-steps);
|
|
||||||
display: block;
|
|
||||||
background: rgba($brand-02, .3);
|
|
||||||
width: 1.75rem;
|
|
||||||
height: 1.75rem;
|
|
||||||
border-radius: 50%;
|
|
||||||
text-align: center;
|
|
||||||
line-height: 1.75rem;
|
|
||||||
font-size: $font-size-base;
|
|
||||||
font-weight: $font-weight-bold;
|
|
||||||
margin-bottom: $spacer / 1.5;
|
|
||||||
color: $text-color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.getstarted__text {
|
|
||||||
opacity: .9;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Community tools
|
|
||||||
.tool {
|
|
||||||
margin-bottom: $spacer * 2;
|
|
||||||
|
|
||||||
&:last-child {
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.tool__title {
|
|
||||||
font-size: $font-size-h5;
|
|
||||||
margin-bottom: $spacer / 4;
|
|
||||||
|
|
||||||
.icon {
|
|
||||||
fill: inherit;
|
|
||||||
opacity: .5;
|
|
||||||
margin-left: $spacer / 2;
|
|
||||||
width: $font-size-mini;
|
|
||||||
margin-bottom: -.2rem;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
@ -289,6 +11,12 @@
|
|||||||
//
|
//
|
||||||
.articles {
|
.articles {
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
|
margin-top: $spacer;
|
||||||
|
margin-bottom: -$spacer;
|
||||||
|
|
||||||
|
.button {
|
||||||
|
padding-bottom: 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.article {
|
.article {
|
||||||
|
@ -1,76 +0,0 @@
|
|||||||
#
|
|
||||||
# HEADS UP!
|
|
||||||
#
|
|
||||||
# Possible keys:
|
|
||||||
# - name
|
|
||||||
# - position
|
|
||||||
# - bio
|
|
||||||
# - social (optional)
|
|
||||||
# - prefix (optional): used to prefix the name, like Dr.
|
|
||||||
#
|
|
||||||
# The photo is grabbed automatically based on the webified version of the name.
|
|
||||||
# Each photo needs to be put as a square JPG in _src/_assets/img/board/ with the file name reflecting the name, e.g. David Holtzman would be david-holtzman.jpg
|
|
||||||
#
|
|
||||||
|
|
||||||
|
|
||||||
- name: David Holtzman
|
|
||||||
position: President
|
|
||||||
|
|
||||||
bio: |
|
|
||||||
David Holtzman is an information technology security expert, educator and activist. He started his career as a cryptographic analyst, military codebreaker, U.S. Naval Security Group submariner, and Soviet Manned Space Program analyst. Holtzman is an early-stage internet pioneer.
|
|
||||||
|
|
||||||
He was the CTO at Network Solutions when it managed the domain name system, where he oversaw the explosive growth of the commercial internet to more than 20 million domain names by the late 1990s. He is the author of Privacy Lost: How Technology is Endangering Your Privacy, and a regular commentator for major news media, including Bloomberg Television, BBC, CNN, The New York Times, Business Week, and The Washington Post.
|
|
||||||
|
|
||||||
social:
|
|
||||||
- name: Twitter
|
|
||||||
link: https://twitter.com/theglobalpov
|
|
||||||
|
|
||||||
|
|
||||||
- name: Constance Choi
|
|
||||||
position: Secretary
|
|
||||||
|
|
||||||
bio: |
|
|
||||||
Constance Choi is the co-founder and Director of [COALA](http://coala.global/), an international multidisciplinary collaborative research and development initiative on blockchain technologies, smart contracts, and decentralized autonomous applications. Choi co-founded and was General Counsel and Chief Compliance Officer of the Kraken digital asset exchange.
|
|
||||||
|
|
||||||
She holds a J.D. from UC Berkeley School of Law, and undergraduate degrees from Brown University and University of Cambridge. She has practiced at several law firms, including the Electronic Frontier Foundation, focusing on internet and technology law, intellectual property, privacy, data security, and constitutional rights.
|
|
||||||
|
|
||||||
social:
|
|
||||||
- name: Twitter
|
|
||||||
link: https://twitter.com/sevenadvisory
|
|
||||||
|
|
||||||
|
|
||||||
- name: Greg McMullen
|
|
||||||
position: Treasurer
|
|
||||||
bio: |
|
|
||||||
Greg McMullen is a lawyer, internet advocate, and Chief Policy Officer at BigchainDB, where he built the framework for the IPDB Foundation and helped bring together its founding caretakers. He is a leading member of the [COALA IP](https://www.coalaip.org/) working group and co-authored the COALA IP specification and policy paper.
|
|
||||||
|
|
||||||
Before joining BigchainDB and IPDB, he was a litigator at one of Canada’s top class actions law firms, where he worked on class actions involving privacy, copyright, competition law, and price fixing conspiracies. He served on the board of directors the BC Civil Liberties Association, Canada’s largest civil liberties organization, and authored the BCCLA’s guide to privacy and security when crossing borders with electronic devices.
|
|
||||||
|
|
||||||
social:
|
|
||||||
- name: Twitter
|
|
||||||
link: https://twitter.com/gmcmullen
|
|
||||||
|
|
||||||
|
|
||||||
- name: Nina-Luisa Siedler
|
|
||||||
prefix: Dr.
|
|
||||||
position: Member-at-Large
|
|
||||||
bio: |
|
|
||||||
Dr. Nina-Luisa Siedler is a lawyer and partner at [DWF Berlin](https://www.dwf.law/people/n/nina-siedler/) with over 15 years of experience. She is interested in FinTech and decentralized technology, and her practice includes blockchain matters. She is an advisor to Blockchain Hub Berlin.
|
|
||||||
|
|
||||||
Dr. Siedler is specialized in structured finance, including credit and capital market instruments, especially acquisition and project financing, real estate transactions, asset-backed securities, structured cover bonds, debt loans, and corporate bonds.
|
|
||||||
|
|
||||||
social:
|
|
||||||
- name: Twitter
|
|
||||||
link: https://twitter.com/ninsie3
|
|
||||||
|
|
||||||
|
|
||||||
- name: Kaspar Korjus
|
|
||||||
position: Member-at-Large
|
|
||||||
bio: |
|
|
||||||
Kaspar Korjus is the Managing Director of Estonia’s [e-Residency](https://e-estonia.com/e-residents/about/) program, which offers a fully digital identity for global citizens. e-Residency is built on inclusion, transparency, and legitimacy. It is meant to empower citizens globally and provide world-wide digital and financial inclusion.
|
|
||||||
|
|
||||||
Korjus was chosen by Megan Smith, CTO of the United States, as one of 20 digital leaders for the Global Leaders Digital Exchange (GLDE) program, and is listed in Forbes Estonia’s “30 under 30” as #1 in Technology and Finance.
|
|
||||||
|
|
||||||
social:
|
|
||||||
- name: Twitter
|
|
||||||
link: https://twitter.com/kasparkorjus
|
|
@ -1,50 +0,0 @@
|
|||||||
- name: COALA
|
|
||||||
link: http://coala.global
|
|
||||||
|
|
||||||
- name: Internet Archive
|
|
||||||
link: https://archive.org
|
|
||||||
|
|
||||||
- name: Human Data Commons Foundation
|
|
||||||
link: https://humandatacommons.org
|
|
||||||
|
|
||||||
- name: Dyne.org
|
|
||||||
link: https://www.dyne.org
|
|
||||||
|
|
||||||
- name: Monax
|
|
||||||
link: https://monax.io
|
|
||||||
|
|
||||||
- name: IPFS
|
|
||||||
link: https://ipfs.io
|
|
||||||
|
|
||||||
- name: unMonastery
|
|
||||||
link: http://unmonastery.org
|
|
||||||
|
|
||||||
- name: BigchainDB
|
|
||||||
link: https://www.bigchaindb.com
|
|
||||||
|
|
||||||
- name: OpenMedia
|
|
||||||
link: https://openmedia.org
|
|
||||||
|
|
||||||
- name: SmartContract
|
|
||||||
link: https://smartcontract.com
|
|
||||||
logo: false
|
|
||||||
|
|
||||||
- name: OuiShare
|
|
||||||
link: http://ouishare.net
|
|
||||||
|
|
||||||
- name: Tendermint
|
|
||||||
link: https://tendermint.com
|
|
||||||
|
|
||||||
- name: Stratumn
|
|
||||||
link: https://www.stratumn.com
|
|
||||||
|
|
||||||
- name: CREATE-NET
|
|
||||||
link: http://create-net.fbk.eu
|
|
||||||
logo: false
|
|
||||||
|
|
||||||
- name: KICTANet
|
|
||||||
link: https://www.kictanet.or.ke
|
|
||||||
|
|
||||||
- name: Global Consent
|
|
||||||
link: http://www.consent.global/
|
|
||||||
logo: false
|
|
@ -1,34 +0,0 @@
|
|||||||
intro: |
|
|
||||||
Building a decentralized organization that runs smoothly is not easy. We’ve learned from those who came before us, from the DNS to The DAO.
|
|
||||||
|
|
||||||
IPDB is coordinated by the IPDB Foundation, which is made up of its member caretakers and its elected management board. The IPDB Foundation advances the research of blockchain technology and decentralized governance for the benefit of society.
|
|
||||||
|
|
||||||
caretakers:
|
|
||||||
title: Caretakers
|
|
||||||
description: "The IPDB Foundation is made up of member organizations we call caretakers. Our caretakers elect our management board and run the nodes that store and validate blocks containing the transactions sent to IPDB."
|
|
||||||
features:
|
|
||||||
- title: "Public interest mandate"
|
|
||||||
description: "A majority of caretakers must be not-for-profit organizations so the mission will take priority over profit."
|
|
||||||
- title: "Jurisdictional diversity"
|
|
||||||
description: "Less than half of the caretakers can be based in any one legal jurisdiction, so a single legal attack can't shut down the network."
|
|
||||||
- title: "Geographical diversity"
|
|
||||||
description: "Our caretakers are based around the world to limit disruption from regional events such as power outages or natural disasters."
|
|
||||||
- title: "Management board"
|
|
||||||
description: "Caretakers elect the management board, which is responsible for the day-to-day operations of IPDB."
|
|
||||||
members:
|
|
||||||
title: "Current Caretakers"
|
|
||||||
description: "Our caretakers share our commitment to building a decentralized internet."
|
|
||||||
|
|
||||||
board:
|
|
||||||
title: Management Board
|
|
||||||
description: "The management board oversees the day-to-day operations of the IDPB Foundation. The management board is elected by the caretakers for a two year term."
|
|
||||||
|
|
||||||
vision:
|
|
||||||
title: "Science & Research"
|
|
||||||
description: "The IPDB Foundation advances science and research."
|
|
||||||
text: |
|
|
||||||
The IPDB Foundation promotes science and research on the operation of scalable blockchain databases, the governance of decentralized systems, and the applications of blockchain technology.
|
|
||||||
|
|
||||||
The IPDB Foundation has taken a leading role in the Berlin blockchain community. We co-organized the [9984 Summit](https://2017.9984.io/), a two-day conference in Berlin bringing together top blockchain thinkers from around the world. We co-organize the [IPDB-BigchainDB Meetup](https://www.meetup.com/BigchainDB-IPDB-Meetup/) in Berlin. We have sent speakers to numerous conferences and events in Berlin and across the EU, and have published numerous [blog posts](https://medium.com/ipdb-blog) on blockchain technology.
|
|
||||||
|
|
||||||
In the future we will continue to make our work available in many ways——hosting or presenting at conferences and workshops, publishing research results and technical papers, releasing open source software, and more. Everything we do will be made available online, for the benefit of the public.
|
|
@ -3,6 +3,23 @@ hero:
|
|||||||
description: "IPDB is a ready-to-use public network with a focus on strong governance, all powered by BigchainDB."
|
description: "IPDB is a ready-to-use public network with a focus on strong governance, all powered by BigchainDB."
|
||||||
action: "Get started with IPDB"
|
action: "Get started with IPDB"
|
||||||
|
|
||||||
|
farewell:
|
||||||
|
title: "As of January 19th, 2018, IPDB will be shutting down."
|
||||||
|
text: |
|
||||||
|
We've thought long and hard about this decision. Our plan to be an internet-scale blockchain database for the world started in mid-2015, and those two and a half years are an eternity in blockchain time. The world has changed, and funding to maintain and operate IPDB while maintaining its core values became an insurmountable struggle.
|
||||||
|
|
||||||
|
We’ve reached milestones in our short time that make us extremely proud. We built a governance model that offered transparency and legitimacy. We confronted the reality of data protection law. We will make these and other learnings available to you in the form of blog posts, reports, or contributions to other projects over the coming months.
|
||||||
|
|
||||||
|
We want to thank everyone who has contributed to IPDB, especially our caretakers and board members. IPDB would not have made it this far without your guidance and expertise.
|
||||||
|
|
||||||
|
We also want to thank the people who have been using the IPDB Test Network. We’ve been driven by the dreams of what you’ll build.
|
||||||
|
|
||||||
|
The IPDB Test Network will continue to run until January 19, 2018, at which point it will be shut down. All accounts and data will be erased and no new sign-ups will be accepted.
|
||||||
|
|
||||||
|
[BigchainDB](https://www.bigchaindb.com) has started its own test network running the same BigchainDB software that powered IPDB. [You can sign up to use it today](https://testnet.bigchaindb.com).
|
||||||
|
|
||||||
|
See you on the internet.
|
||||||
|
|
||||||
intro:
|
intro:
|
||||||
title: "A planetary-scale blockchain database"
|
title: "A planetary-scale blockchain database"
|
||||||
description: "The distributed, permanent web is evolving and needs a decentralized database. We are that database."
|
description: "The distributed, permanent web is evolving and needs a decentralized database. We are that database."
|
||||||
|
@ -1,102 +0,0 @@
|
|||||||
- question: What is IPDB?
|
|
||||||
answer: |
|
|
||||||
IPDB is the Interplanetary Database. It's a ready-to-use public network with a focus on strong governance, all powered by BigchainDB. Think of IPDB as being the database for a decentralized world computer.
|
|
||||||
|
|
||||||
- question: Who owns IPDB?
|
|
||||||
answer: |
|
|
||||||
No one “owns” IPDB. We see it as a public good. IPDB is operated by the IPDB Foundation e.V., a charitable organization registered in Berlin, Germany. The IPDB Foundation has a number of member organizations, or Caretakers, who provide consensus voting and input on governance.
|
|
||||||
|
|
||||||
- question: How is IPDB funded?
|
|
||||||
answer: |
|
|
||||||
The IPDB Foundation is currently funded by BigchainDB GmbH, but plans to become self-sufficient through donations and by selling transactions on IPDB.
|
|
||||||
|
|
||||||
- question: Where can I find the IPDB governance documents?
|
|
||||||
answer: |
|
|
||||||
Our [Articles of Association](/foundation/articles/) are available in German and in English.
|
|
||||||
|
|
||||||
- question: Who is on the Board of Directors?
|
|
||||||
answer: |
|
|
||||||
You can always find the current [Board of Directors on the Foundation page](/foundation/#board).
|
|
||||||
|
|
||||||
- question: Who can use IPDB?
|
|
||||||
answer: |
|
|
||||||
Anyone can use IPDB. You can learn more about getting started [on the front page](/).
|
|
||||||
|
|
||||||
- question: What are the IPDB Terms of Service and Privacy Policy?
|
|
||||||
answer: |
|
|
||||||
The most recent versions of the [IPDB Terms of Service](https://ipdb.io/terms) and [IPDB Privacy Policy](https://ipdb.io/privacy) are always available on the IPDB website.
|
|
||||||
|
|
||||||
- question: How do I use IPDB?
|
|
||||||
answer: |
|
|
||||||
IPDB is based on [BigchainDB](https://www.bigchaindb.com/). You can learn about using the IPDB client API on the BigchainDB documentation page.
|
|
||||||
|
|
||||||
- question: How much does it cost to use IPDB?
|
|
||||||
answer: |
|
|
||||||
When it launches, IPDB will be free to everyone. Eventually IPDB will start charging its heavy users on a per-transaction basis. For most users, IPDB will remain free.
|
|
||||||
|
|
||||||
- question: How much *will* it cost?
|
|
||||||
answer: |
|
|
||||||
We don’t know yet, but we intend to keep it really cheap. Cheap means orders of magnitude cheaper than other blockchain databases.
|
|
||||||
|
|
||||||
- question: Is it open source?
|
|
||||||
answer: |
|
|
||||||
All the code and documentation used or produced by IPDB is open source. You can view the source for [BigchainDB](https://github.com/bigchaindb/bigchaindb), or better yet, make a contribution!
|
|
||||||
|
|
||||||
- question: What do Caretakers do?
|
|
||||||
answer: |
|
|
||||||
Caretakers play a critical role in IPDB’s operation and governance (see “How does consensus work on IPDB?”). In addition to voting on transactions on IPDB, Caretakers vote to approve new Caretakers and to select the IPDB Foundation’s board of directors.
|
|
||||||
|
|
||||||
- question: How are Caretakers chosen?
|
|
||||||
answer: |
|
|
||||||
Caretakers can apply to IPDB to be considered. The existing Caretakers will vote to decide whether a new Caretaker should be added.
|
|
||||||
|
|
||||||
- question: Who can become a Caretaker?
|
|
||||||
answer: |
|
|
||||||
Caretakers must have demonstrated a commitment to building or protecting an open, decentralized Internet. A majority of the Caretaker roles must be held by not-for-profit organizations. Caretakers are chosen to reflect a diversity of roles, geographical locations, and jurisdictions.
|
|
||||||
|
|
||||||
- question: Who are the current Caretakers?
|
|
||||||
answer: |
|
|
||||||
You can always find the current list of [IPDB Caretakers on the Foundation page](/foundation/#caretakers).
|
|
||||||
|
|
||||||
- question: Can my organization be a Caretaker?
|
|
||||||
answer: |
|
|
||||||
Maybe! If you think you’re a good fit, contact us at !EMAIL_CARETAKERS!.
|
|
||||||
|
|
||||||
## Transactions
|
|
||||||
- question: Can I delete a Transaction?
|
|
||||||
answer: |
|
|
||||||
No. Transactions cannot be deleted from IPDB once they have been written. Not even the IPDB Foundation or any of the Caretakers can delete or change Transactions once they have been written.
|
|
||||||
|
|
||||||
- question: Who owns the information I write to IPDB?
|
|
||||||
answer: |
|
|
||||||
You do. You keep the copyright or other rights in all information you record to IPDB.
|
|
||||||
|
|
||||||
## Technical
|
|
||||||
|
|
||||||
- question: What technology is IPDB based on?
|
|
||||||
answer: |
|
|
||||||
IPDB is a public instance of [BigchainDB](https://www.bigchaindb.com/), a scalable blockchain database.
|
|
||||||
|
|
||||||
- question: What is the IPDB consensus model?
|
|
||||||
answer: |
|
|
||||||
IPDB operates on a federated model for consensus. The IPDB federation relies on a number of trusted entities we call Caretakers. The Caretakers vote on all transactions on the network, and transactions approved by the majority are added to the database. You can learn more about the consensus model in the BigchainDB [whitepaper](https://www.bigchaindb.com/whitepaper/).
|
|
||||||
|
|
||||||
- question: Is IPDB a blockchain?
|
|
||||||
answer: |
|
|
||||||
No. IPDB brings blockchain characteristics to an open source big data database: 1) decentralized control, 2) immutability, and 3) assets.
|
|
||||||
|
|
||||||
- question: Is IPDB a currency?
|
|
||||||
answer: |
|
|
||||||
No. IPDB has native assets but those assets are not a currency. Instead, anyone can issue and transfer assets or tokens that represent something else.
|
|
||||||
|
|
||||||
- question: Can other people see my transactions?
|
|
||||||
answer: |
|
|
||||||
Yes. Anyone can see the transactions made on IPDB. IPDB is a public instance of BigchainDB.
|
|
||||||
|
|
||||||
- question: Can IPDB talk to other blockchains?
|
|
||||||
answer: |
|
|
||||||
BigchainDB has already been integrated with other services. Other integrations are waiting to be created. If you have a request, or better still, if you want to help out, you can head over to the [BigchainDB developer community](https://github.com/bigchaindb/bigchaindb) at Github.
|
|
||||||
|
|
||||||
- question: Why is IPDB better than Ethereum, Bitcoin, IPFS, Dogecoin…?
|
|
||||||
answer: |
|
|
||||||
IPDB is not a replacement for decetralized computation platforms such as Ethereum, file storage from IPFS, or cryptocurrencies such as Bitcoin. IPDB is *complimentary* to them. We see IPDB as filling a gap in the decentralized stack.
|
|
@ -1,23 +1,9 @@
|
|||||||
main:
|
main:
|
||||||
- title: Foundation
|
|
||||||
url: /foundation/
|
|
||||||
- title: Docs
|
|
||||||
url: /docs/
|
|
||||||
- title: Contact
|
- title: Contact
|
||||||
url: /contact/
|
url: /contact/
|
||||||
|
|
||||||
footer:
|
|
||||||
- title: FAQ
|
|
||||||
url: /faq/
|
|
||||||
- title: Blog
|
|
||||||
url: https://medium.com/ipdb-blog
|
|
||||||
- title: Jobs
|
|
||||||
url: /jobs/
|
|
||||||
|
|
||||||
legal:
|
legal:
|
||||||
- title: Terms
|
- title: Contact
|
||||||
url: /terms/
|
url: /contact/
|
||||||
- title: Privacy
|
|
||||||
url: /privacy/
|
|
||||||
- title: Imprint
|
- title: Imprint
|
||||||
url: /imprint/
|
url: /imprint/
|
||||||
|
@ -1,41 +0,0 @@
|
|||||||
<div class="board grid grid--full grid-small--half grid--gutters">
|
|
||||||
|
|
||||||
{% assign board = site.data.board %}
|
|
||||||
|
|
||||||
{% for member in board %}
|
|
||||||
|
|
||||||
{% assign slug = (member.name | downcase | replace: ' ', '-') %}
|
|
||||||
|
|
||||||
<div class="grid__col">
|
|
||||||
<div class="boardmember">
|
|
||||||
<div class="boardmember__info">
|
|
||||||
<img class="boardmember__avatar" src="/assets/img/board/{{ slug }}.jpg">
|
|
||||||
|
|
||||||
<div class="boardmember__meta">
|
|
||||||
<h1 class="boardmember__name">
|
|
||||||
{% if member.prefix %}{{ member.prefix }} {% endif %}
|
|
||||||
{{ member.name }}
|
|
||||||
</h1>
|
|
||||||
<p class="boardmember__position">{{ member.position }}</p>
|
|
||||||
|
|
||||||
{% if member.social %}
|
|
||||||
<p class="boardmember__social">
|
|
||||||
{% for item in member.social %}
|
|
||||||
<a href="{{ item.link }}" title="{{ item.name }}">
|
|
||||||
<svg class="icon" aria-labelledby="title">
|
|
||||||
<title>{{ item.name }}</title>
|
|
||||||
<use xlink:href="/assets/img/sprite.svg#icon-{{ item.name | downcase }}"></use>
|
|
||||||
</svg>
|
|
||||||
</a>
|
|
||||||
{% endfor %}
|
|
||||||
</p>
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="boardmember__bio">{{ member.bio | markdownify }}</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
@ -1,24 +0,0 @@
|
|||||||
<div class="caretakers grid grid--half grid-medium--fit grid-medium--columns grid--justifycenter grid--gutters">
|
|
||||||
|
|
||||||
{% assign caretakers = (site.data.caretakers | sort: 'name') %}
|
|
||||||
|
|
||||||
{% for caretaker in caretakers %}
|
|
||||||
|
|
||||||
{% assign slug = (caretaker.name | downcase | replace: ' ', '-' | replace: '.', '-') %}
|
|
||||||
|
|
||||||
<div class="grid__col grid__col--2">
|
|
||||||
<a class="caretaker" href="{{ caretaker.link }}" rel="external">
|
|
||||||
{% if caretaker.logo == false %}
|
|
||||||
<span class="caretaker__name">{{ caretaker.name }}</span>
|
|
||||||
{% else %}
|
|
||||||
<svg class="logo-caretaker logo-caretaker--{{ slug }}" aria-labelledby="title">
|
|
||||||
<title>{{ caretaker.name }}</title>
|
|
||||||
<use xlink:href="/assets/img/sprite.svg#logo-{{ slug }}"></use>
|
|
||||||
</svg>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
@ -20,16 +20,3 @@
|
|||||||
{{ contact.address.country }}
|
{{ contact.address.country }}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<ul class="social-list">
|
|
||||||
{% for item in contact.social %}
|
|
||||||
<li>
|
|
||||||
<a href="{{ item.link }}" title="{{ item.name }}">
|
|
||||||
<svg class="icon" aria-labelledby="title">
|
|
||||||
<title>{{ item.name }}</title>
|
|
||||||
<use xlink:href="/assets/img/sprite.svg#icon-{{ item.name | downcase }}"></use>
|
|
||||||
</svg>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
|
@ -1,12 +0,0 @@
|
|||||||
<form class="form form--newsletter" action="//foundation.us15.list-manage.com/subscribe/post?u=036bac2d4e3a3ea3de876a8dd&id=8a21e3e9ca" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" target="_blank">
|
|
||||||
<div class="form__group required">
|
|
||||||
<label class="form__label" for="mce-EMAIL">Your Email</label>
|
|
||||||
|
|
||||||
<div class="input-group">
|
|
||||||
<input class="form__control" type="email" id="mce-EMAIL" name="EMAIL" required placeholder=" ">
|
|
||||||
<input class="button button-primary button--small" type="submit" value="Subscribe">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<span class="form__help">We will never use the contact information you submit for anything except delivering our newsletter.</span>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
@ -1,3 +1,5 @@
|
|||||||
|
{% include oceanprotocol.html %}
|
||||||
|
|
||||||
{% include menu-main.html %}
|
{% include menu-main.html %}
|
||||||
|
|
||||||
<header class="header header--page">
|
<header class="header header--page">
|
||||||
|
@ -10,17 +10,6 @@
|
|||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="grid__col">
|
|
||||||
{% for link in site.data.menus.main %}
|
|
||||||
{% assign active = nil %}
|
|
||||||
{% if page.url contains link.url %}
|
|
||||||
{% assign active = 'active' %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<a class="menu__link {{ active }}" href="{{ link.url }}">{{ link.title }}</a>
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="grid__col">
|
<div class="grid__col">
|
||||||
{% for link in site.data.menus.footer %}
|
{% for link in site.data.menus.footer %}
|
||||||
{% assign active = nil %}
|
{% assign active = nil %}
|
||||||
@ -32,18 +21,5 @@
|
|||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="grid__col">
|
|
||||||
<h2 class="footer__title">Follow us</h2>
|
|
||||||
<div class="social">
|
|
||||||
{% for item in site.data.contact.social %}
|
|
||||||
<a class="social-link" href="{{ item.link }}" title="{{ item.name }}">
|
|
||||||
<svg class="icon" aria-labelledby="title">
|
|
||||||
<title>{{ item.name }}</title>
|
|
||||||
<use xlink:href="/assets/img/sprite.svg#icon-{{ item.name | downcase }}"></use>
|
|
||||||
</svg>
|
|
||||||
</a>
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
@ -1,28 +0,0 @@
|
|||||||
<nav class="menu menu--sub menu--foundation section--background">
|
|
||||||
<div class="row">
|
|
||||||
|
|
||||||
<div class="menu-overflow">
|
|
||||||
<a class="menu__link" href="/foundation/#caretakers" data-scroll>{{ site.data.content-foundation.caretakers.title }}</a>
|
|
||||||
<a class="menu__link" href="/foundation/#board" data-scroll>{{ site.data.content-foundation.board.title }}</a>
|
|
||||||
<a class="menu__link" href="/foundation/#vision" data-scroll>{{ site.data.content-foundation.vision.title }}</a>
|
|
||||||
|
|
||||||
{% assign current_page = page %}
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
||||||
{% for page in site.pages %}
|
|
||||||
{% if page.path contains 'foundation' %}
|
|
||||||
{% assign active = nil %}
|
|
||||||
{% if page.url == current_page.url %}
|
|
||||||
{% assign active = 'active' %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% unless page.path contains 'foundation/index' or page.language == 'de' %}
|
|
||||||
<a class="menu__link {{ active }}" href="{{ page.url }}">{{ page.title }}</a>
|
|
||||||
{% endunless %}
|
|
||||||
{% endif %}
|
|
||||||
{% endfor%}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</nav>
|
|
@ -19,9 +19,6 @@
|
|||||||
<a class="menu__link {{ active }}" href="{{ link.url }}">{{ link.title }}</a>
|
<a class="menu__link {{ active }}" href="{{ link.url }}">{{ link.title }}</a>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
<a class="button button--small button--primary" href="{{ site.signup.link }}">{{ site.signup.button_short }}</a>
|
|
||||||
<a class="button button--small" href="{{ site.login.link }}">{{ site.login.button }}</a>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
---
|
|
||||||
layout: page
|
|
||||||
|
|
||||||
title: Canary
|
|
||||||
|
|
||||||
narrow: true
|
|
||||||
---
|
|
||||||
|
|
||||||
![](/assets/img/canary.jpg)
|
|
||||||
|
|
||||||
By Alan Manson <a href="https://commons.wikimedia.org/wiki/File%3AForest_Canary_%28Serinus_scotops%29_facing_left%2C_front_view.jpg">2007_10_13_13_16_Forest_Canary</a> [[CC BY-SA 2.0](http://creativecommons.org/licenses/by-sa/2.0)], via Wikimedia Commons
|
|
125
_src/docs.md
125
_src/docs.md
@ -1,125 +0,0 @@
|
|||||||
---
|
|
||||||
layout: page
|
|
||||||
|
|
||||||
title: IPDB Developer Documentation
|
|
||||||
subtitle: Sharing the knowledge
|
|
||||||
|
|
||||||
narrow: true
|
|
||||||
---
|
|
||||||
|
|
||||||
Under [developers.ipdb.io](https://developers.ipdb.io) you can find the portal for developers who want to access IPDB. Right now, we are inviting users to participate in the IPDB Test Network. If you aren’t already in, you can sign up for early access to the IPDB Test Network. We plan to open the IPDB Production Network to everyone soon.
|
|
||||||
|
|
||||||
## Getting Started
|
|
||||||
|
|
||||||
Anyone—a person or organization—can sign up for an IPDB Developer Portal account as a developer. By signing up, you agree to the IPDB Test Network [Terms of Service](/terms/) and [Privacy Policy](/privacy/).
|
|
||||||
|
|
||||||
New accounts must be approved by the IPDB Support Team. Every developer will get one application (or app) to start with.
|
|
||||||
|
|
||||||
If approved, a developer can create more applications (details below). If a developer is denied or rejected, their account and initial application will be deleted.
|
|
||||||
|
|
||||||
## Application ID and Keys
|
|
||||||
|
|
||||||
Every application has an application ID (`app_id`) and one or more application keys (`app_key`). The app id and keys are also called API credentials. Each application can make HTTP requests using its credentials and the BigchainDB HTTP API (explained below). An application should only use its own credentials, never the credentials of other applications.
|
|
||||||
|
|
||||||
Application IDs and application keys should be kept secret.
|
|
||||||
|
|
||||||
If you, as a developer, want to allow users to send HTTP requests directly to the IPDB Test Network or Production Network, you must first get explicit prior consent from the IPDB Foundation. Only then are you, as a developer, allowed to share app ids and app keys with your users.
|
|
||||||
|
|
||||||
## How to Make HTTP Requests
|
|
||||||
|
|
||||||
The IPDB Test Network is an instance of a BigchainDB cluster. The API is documented under [BigchainDB HTTP API](https://docs.bigchaindb.com/projects/server/en/latest/drivers-clients/http-client-server-api.html).
|
|
||||||
|
|
||||||
### API root endpoint
|
|
||||||
|
|
||||||
```
|
|
||||||
https://test.ipdb.io/api/v1/
|
|
||||||
```
|
|
||||||
|
|
||||||
### Examples
|
|
||||||
|
|
||||||
#### Connect using Python
|
|
||||||
|
|
||||||
```python
|
|
||||||
from bigchaindb_driver import BigchainDB
|
|
||||||
tokens = {}
|
|
||||||
tokens['app_id'] = 'bcdc4699'
|
|
||||||
tokens['app_key'] = '0ab98d2ca2e8ca6f37518b9d0eb5ac50'
|
|
||||||
bdb = BigchainDB('https://test.ipdb.io', headers=tokens)
|
|
||||||
```
|
|
||||||
[BigchainDB Python driver on GitHub](https://github.com/bigchaindb/bigchaindb-driver) | [Python driver usage documentation](https://docs.bigchaindb.com/projects/py-driver/en/master/usage.html)
|
|
||||||
|
|
||||||
#### Connect using Node.js
|
|
||||||
|
|
||||||
```js
|
|
||||||
const driver = require('bigchaindb-driver')
|
|
||||||
let bdb = new driver.Connection('https://test.ipdb.io/api/v1/', {
|
|
||||||
app_id: 'bcdc4699',
|
|
||||||
app_key: '0ab98d2ca2e8ca6f37518b9d0eb5ac50'
|
|
||||||
})
|
|
||||||
```
|
|
||||||
[BigchainDB JavaScript driver on GitHub](https://github.com/bigchaindb/js-bigchaindb-driver)
|
|
||||||
|
|
||||||
#### Connect using curl
|
|
||||||
|
|
||||||
```bash
|
|
||||||
curl -X "POST" "https://test.ipdb.io/api/v1/transactions/" \
|
|
||||||
-H "app_id: bcdc4699" \
|
|
||||||
-H "app_key: 0ab98d2ca2e8ca6f37518b9d0eb5ac50" \
|
|
||||||
-d "@tx.json"
|
|
||||||
```
|
|
||||||
|
|
||||||
### Limits
|
|
||||||
|
|
||||||
- Each of your applications has its own limits. Those limits are determined by the plan that the application is using. Application plan limits are outlined in the Billing section below.
|
|
||||||
- Maximum of 500,000 API calls per day, summed over all applications. This is a limit of our current 3scale plan.
|
|
||||||
- Maximum of 600 API calls per minute, summed over all applications. This is a limit of our current 3scale plan.
|
|
||||||
- Maximum HTTP request body size (e.g. transaction size) of 15kB (15 kilobytes = 15000 bytes). (We use the NGINX setting `client_max_body_size 15k;` to enforce this.)
|
|
||||||
- NGINX is set to process a maximum of 10 requests per second sustained, per IP address. It can hold up to 10 more requests (per IP address) in its buffer, to accomodate short bursts above 10 requests per second.
|
|
||||||
|
|
||||||
## How to Create a New Application
|
|
||||||
|
|
||||||
There are two ways for a developer to create a new application.
|
|
||||||
|
|
||||||
1. One way is to sign in on the developer portal, click APPLICATIONS in the top menu, and then click the button labelled *Create new application*.
|
|
||||||
2. A second way is to make an HTTP request to the IPDB-Agent, an online microservice that can create new applications on behalf of IPDB. If you'd like to do this, please contact us using the IPDB Foundation's [contact page](/contact/).
|
|
||||||
|
|
||||||
## Billing
|
|
||||||
|
|
||||||
A developer can have several applications. Each application has a plan associated with it.
|
|
||||||
|
|
||||||
Right now, the IPDB Test Network only has one plan: a free plan, but it has a limit. We keep track of the total data transferred IN by each application, and that is capped at 100 MB per month. We may change that cap in the future, and we may offer additional plans in the future, including paid ones.
|
|
||||||
|
|
||||||
The IPDB Production Network is not currently available, but we intend to offer the following plans once it is available:
|
|
||||||
|
|
||||||
1. Free: 1 MB data transfer (IN) per month (about 1k transactions`*`)
|
|
||||||
2. $10 per month: 10 MB data transfer (IN) per month (about 10k transactions*)
|
|
||||||
3. $20 per month: 100 MB data transfer (IN) per month (about 100k transactions*)
|
|
||||||
4. $100 per month: 1000 MB data transfer (IN) per month (about 1M transactions*)
|
|
||||||
|
|
||||||
`*`assuming an average transaction size of 1 kb (typical).
|
|
||||||
|
|
||||||
When an application goes over 80% of its data transfer allowance, an email alert is sent to the developer. Same for 90% and 100%. If an application goes over its data transfer allowance (i.e. over 100%), then subsequent API requests from that application will be dropped.
|
|
||||||
|
|
||||||
A developer can change an application's billing plan mid-month (e.g. to get more data transfer allowance).
|
|
||||||
|
|
||||||
All application data transfer allowances reset at the beginning of each month. If an application doesn't use up its data transfer allowance for a month, then the remaining data transfer is not rolled over into the next month.
|
|
||||||
|
|
||||||
The first invoice is sent to the developer 3–4 days after they sign up for a plan (pro-rated, meaning they are only invoiced for the part of the month that they had the plan). All subsequent invoices are sent near the beginning of each month, typically the fourth day of the month. Two days after an invoice is issued, it becomes due and the associated credit card will be charged (if applicable).
|
|
||||||
|
|
||||||
## How to Change an Application's Plan
|
|
||||||
|
|
||||||
If you want to change an application's plan, then login to the IPDB Developer Portal, go to Applications, click on the name of the application, and then click the "REVIEW/CHANGE" button beside the name of the plan. Note: The Test Network API has only one plan, so you can't change to a different one. Also, at the time of writing, the Production Network had only one available plan.
|
|
||||||
|
|
||||||
You can't change an application from a Test Network API plan to a Production Network API plan or vice versa.
|
|
||||||
|
|
||||||
## How to Delete an Application
|
|
||||||
|
|
||||||
If you want to delete an application, please email your request to support@ipdb.io.
|
|
||||||
|
|
||||||
## How to Delete Your Developer Account
|
|
||||||
|
|
||||||
If you want to delete your developer account, please email your request to [support@ipdb.io](mailto:support@ipdb.io).
|
|
||||||
|
|
||||||
## Contact Us
|
|
||||||
|
|
||||||
Anyone can contact us using the IPDB Foundation's [contact page](/contact/).
|
|
@ -1,31 +0,0 @@
|
|||||||
---
|
|
||||||
layout: page
|
|
||||||
|
|
||||||
title: Frequently Asked Questions
|
|
||||||
subtitle: Get answers to your most pressing questions
|
|
||||||
|
|
||||||
css: page-faq
|
|
||||||
---
|
|
||||||
|
|
||||||
{% capture email_caretakers %}<a href="mailto:{{ site.data.contact.email_caretakers }}">{{ site.data.contact.email_caretakers }}</a>{% endcapture %}
|
|
||||||
|
|
||||||
<section class="section section--faq">
|
|
||||||
<div class="row row--narrow">
|
|
||||||
|
|
||||||
<div class="faq-contents">
|
|
||||||
{% for faq in site.data.faq %}
|
|
||||||
<h1 class="faq-contents__title"><a href="#{{ faq.question | downcase | replace: ' ','-' | replace: '?', '' }}" data-scroll>{{ faq.question }}</a></h1>
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="faq content--page--markdown">
|
|
||||||
{% for faq in site.data.faq %}
|
|
||||||
{% assign id = faq.question | downcase | replace: ' ','-' | replace: '?', '' %}
|
|
||||||
|
|
||||||
<h1 class="faq__question" id="{{ id }}"><a class="header-link" href="#{{ id }}">#</a> {{ faq.question }}</h1>
|
|
||||||
<div class="faq__answer">{{ faq.answer | replace: '!EMAIL_CARETAKERS!', email_caretakers | markdownify }}</div>
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</section>
|
|
@ -1,19 +0,0 @@
|
|||||||
---
|
|
||||||
layout: page
|
|
||||||
|
|
||||||
title: Articles
|
|
||||||
subtitle: Articles of Association of the IPDB Foundation
|
|
||||||
|
|
||||||
narrow: true
|
|
||||||
|
|
||||||
language: en
|
|
||||||
alternate:
|
|
||||||
- language: de
|
|
||||||
link: /foundation/satzung/
|
|
||||||
---
|
|
||||||
|
|
||||||
<div class="alert alert--info">
|
|
||||||
IPDB Foundation is registered as a non-profit in Germany. The English version of this document is for information only. The <a href="/foundation/satzung/">German version</a> is legally binding.
|
|
||||||
</div>
|
|
||||||
|
|
||||||
*Coming soon...*
|
|
@ -1,174 +0,0 @@
|
|||||||
---
|
|
||||||
layout: page
|
|
||||||
|
|
||||||
title: Bylaws
|
|
||||||
|
|
||||||
narrow: true
|
|
||||||
---
|
|
||||||
|
|
||||||
# Definitions
|
|
||||||
|
|
||||||
1. **Advisor** means an individual appointed to serve as an advisor to the Foundation.
|
|
||||||
1. **Advisory Committee** means a subset of Advisors established by the Board to provide advice on a specific subject area.
|
|
||||||
1. **Applicant** means an entity that has applied to become a Caretaker.
|
|
||||||
1. **Articles** means the current Articles of Association (Satzung) of the Foundation. If there is a conflict between the English and German versions of the Articles, the German version prevails.
|
|
||||||
1. **Board** means the Board of Directors of the Foundation.
|
|
||||||
1. **Board Member** means an individual member of the Board.
|
|
||||||
1. **Bylaws** means this document.
|
|
||||||
1. **Caretaker** means a member of the Foundation.
|
|
||||||
1. **Conference** means an audio or video teleconference.
|
|
||||||
1. **Foundation** means the Interplanetary Database Foundation e.V.
|
|
||||||
1. **IPDB** means the Interplanetary Database, a decentralized database made up of the cluster of Nodes operated by Caretakers.
|
|
||||||
1. **Key Pair** means a cryptographic public-private key pair generated by a Board Member, Caretaker, or Representative by the means set out in Policy.
|
|
||||||
1. **Node** means an instance of the Software operated by a Caretaker.
|
|
||||||
1. **Policy** means policies, procedures, or other guidelines approved by the Board.
|
|
||||||
1. **Private Key** means the half of a Key Pair used by Caretakers to sign blocks or votes or by Board Members or Representatives to sign votes.
|
|
||||||
1. **Public Key** means the half of a Key Pair publicly associated with a Board Member, Caretaker, or Representative and serves as their identifier on IPDB or within the Foundation.
|
|
||||||
1. **Representative** means an individual or individuals designated by a Caretaker to be the Staff’s point of contact for that Caretaker, with the authority to vote on the Caretaker’s behalf in Caretakers’ meetings.
|
|
||||||
1. **Software** means the software the Board determines must be run on each Node.
|
|
||||||
1. **Staff** means individuals appointed by the Board to administer the day-to-day activities of the Foundation.
|
|
||||||
|
|
||||||
# Structure
|
|
||||||
|
|
||||||
1. The Foundation will be registered in Berlin, Germany, as a charitable organization.
|
|
||||||
1. The Bylaws expand on the text of the Articles. If there is a conflict between the Bylaws and the Articles, the Articles prevail.
|
|
||||||
|
|
||||||
# Board (Article 6)
|
|
||||||
|
|
||||||
## Board meetings
|
|
||||||
|
|
||||||
1. The Board will meet at least once per quarter.
|
|
||||||
1. Board Members may attend Board meetings in person or by Conference.
|
|
||||||
1. Additional Board meetings can be called with the agreement of two Board Members.
|
|
||||||
1. A Board meeting quorum is met if at least 3 Board Members are in attendance.
|
|
||||||
|
|
||||||
## Votes by board members
|
|
||||||
|
|
||||||
1. Board Members may cast votes in person, by Conference, or by email.
|
|
||||||
1. Votes by voice can be cast in person or by Conference.
|
|
||||||
1. Votes in writing must be cast by email and, if required by Policy, must be signed with the Board Member’s Private Key.
|
|
||||||
|
|
||||||
## Board elections
|
|
||||||
|
|
||||||
1. The Board will determine the date of elections for the Board.
|
|
||||||
1. Staff will deliver notice of a Board election, listing any vacancies and candidates nominated by the Board, within one month of the election, by email to the Representatives and on a page on the Foundation website.
|
|
||||||
1. The Board may nominate candidates for vacancies on the Board to be delivered with notice of the Board election, or at any time up to two weeks before the election.
|
|
||||||
1. Caretakers may nominate candidates for vacancies on the Board at any time after notice of the Board election has been delivered, or at any time up to two weeks before the election.
|
|
||||||
1. All candidates may provide a 500 character biography and a URL to be posted on the Foundation website.
|
|
||||||
1. Staff will deliver a final notice of the Board election, along with a complete list of candidates and their biographies, two weeks before the election.
|
|
||||||
|
|
||||||
## Staff
|
|
||||||
|
|
||||||
1. The Board may delegate authority to Staff, including signing authority for the Foundation.
|
|
||||||
1. The scope of authority granted to Staff must be clearly set out by the Board in its grant of authority.
|
|
||||||
1. The Board will appoint at least one person as Staff to perform the duties set out in the Bylaws.
|
|
||||||
|
|
||||||
# Advisors (Article 7)
|
|
||||||
|
|
||||||
1. Advisors are appointed by a majority vote by the Board.
|
|
||||||
1. Consultations between Board Members and Advisors can be kept in confidence as between the Board Member and the Advisor.
|
|
||||||
1. The Board may establish Advisory Committees to provide advice in their areas of expertise.
|
|
||||||
1. The Board may delegate the development of Policies to an Advisory Committee established for that purpose.
|
|
||||||
1. The Board may vote to request formal advice from Advisors or Advisory Committees. 1. The response to such a request will be made public.
|
|
||||||
|
|
||||||
# Caretakers (Articles 3-5)
|
|
||||||
|
|
||||||
## Caretaker representatives
|
|
||||||
|
|
||||||
1. Caretakers must nominate at least one individual as a Representative.
|
|
||||||
1. The Representative must generate a Key Pair.
|
|
||||||
|
|
||||||
## Caretakers’ meetings
|
|
||||||
|
|
||||||
1. Staff will provide notice of meetings of the Caretakers to the Caretakers’ Representatives
|
|
||||||
1. Caretakers may attend meetings in person or by Conference.
|
|
||||||
|
|
||||||
## Votes by caretakers
|
|
||||||
|
|
||||||
1. Caretakers’ Representatives vote on behalf of the Caretakers.
|
|
||||||
1. Representatives may cast votes in person, by Conference, or by email.
|
|
||||||
1. Votes by voice can be cast in person or by Conference.
|
|
||||||
1. Votes in writing must be cast by email and, if required by Policy, must be signed with the Representative’s Private Key.
|
|
||||||
|
|
||||||
## Number of caretakers
|
|
||||||
|
|
||||||
1. The Foundation may have no more than 100 Caretakers.
|
|
||||||
1. The Board may admit a maximum of 20 Caretakers each year, at the discretion of the Board.
|
|
||||||
|
|
||||||
## Adding caretakers (Article 3)
|
|
||||||
|
|
||||||
1. Entities that wish to become a Caretaker may apply in writing to the Foundation.
|
|
||||||
1. The Board reviews Applicants with consideration to the requirements and targets listed in this section.
|
|
||||||
1. To admit an Applicant, the Board must be satisfied that the Applicant is committed to the Foundation’s mission and building a decentralized internet that is open, inclusive, transparent, and diverse.
|
|
||||||
1. The following requirements for Caretaker diversity must always be met by the current membership:
|
|
||||||
1. More than 50% of Caretakers must be not-for-profit or charitable organizations.
|
|
||||||
1. Fewer than 50% of Caretakers may be based in any one country.
|
|
||||||
1. The following targets for Caretaker diversity are not requirements, but will be weighted highly in the Board’s determination:
|
|
||||||
1. More than 66% of the Caretakers should be not-for-profit or charitable organization.
|
|
||||||
1. Fewer than 25% of Caretakers should be based in any one country.
|
|
||||||
1. Fewer than 50% of Caretakers should be based in any one region.
|
|
||||||
1. At least one Caretaker should be based in each region.
|
|
||||||
|
|
||||||
## Expulsion of caretakers
|
|
||||||
|
|
||||||
1. The process for expulsion is triggered by a complaint regarding the conduct of the Caretaker brought to the Foundation by a Board Member, another Caretaker, or a member of the public.
|
|
||||||
1. Staff will receive complaints and present them to the Board as they are received.
|
|
||||||
Complaints will be addressed at the next regularly scheduled Board meeting.
|
|
||||||
If the matter is urgent, a special Board meeting can be called if requested by 20% of Caretakers or 2 Board Members.
|
|
||||||
1. The Board may dismiss a complaint without comment if it is unanimously voted by the Board to be frivolous or unfounded. Votes to dismiss a complaint must be in writing, and must be reported to the Caretakers by the Board along with the complaint.
|
|
||||||
The Board will call for a comments over a period of 4 weeks, during which all Caretakers, including the subject of the complaint, can present arguments and evidence for or against expulsion.
|
|
||||||
1. After the comment period the Board will consider the factors below, then either dismiss the complaint as unfounded or recommend that the Caretakers vote to expel the subject of the complaint.
|
|
||||||
1. All Caretakers except the subject of the complaint may vote on the Board’s recommendation. If the vote passes, the subject of the complaint is expelled from the Foundation and their keys will be invalidated immediately.
|
|
||||||
|
|
||||||
## Grounds for expulsion
|
|
||||||
|
|
||||||
1. The following factors will be considered by the Board and Caretakers in reviewing the subject of a complaint:
|
|
||||||
1. Actions by the Caretaker determined to be in violation of the Articles or the mission statement of the Foundation.
|
|
||||||
1. Deliberate tampering with the validity or integrity of IPDB.
|
|
||||||
1. Failure to comply with Policies for security, privacy, or operating a Node.
|
|
||||||
1. Failure of the Representative to respond to communications from Staff in a timely manner.
|
|
||||||
1. Actions by the Caretaker determined to be detrimental to the success, functioning, or reputation of IPDB or the Foundation.
|
|
||||||
|
|
||||||
# Keys
|
|
||||||
|
|
||||||
## Generating keys
|
|
||||||
|
|
||||||
1. Caretakers and Representatives will generate Key Pairs in the manner set in Policy.
|
|
||||||
|
|
||||||
## Securing keys
|
|
||||||
|
|
||||||
1. Caretakers and Representatives will communicate their Public Keys to the Foundation in the manner set in Policy.
|
|
||||||
1. Private keys will be secured in the manner set in Policy.
|
|
||||||
|
|
||||||
## Revoking signing authority
|
|
||||||
|
|
||||||
1. If a complaint against a Caretaker is brought to the Board, that Caretaker’s authority to sign blocks on IPDB will be suspended.
|
|
||||||
1. Signing authority can be reinstated if the complaint is unfounded or dismissed.
|
|
||||||
|
|
||||||
# Nodes
|
|
||||||
|
|
||||||
## Operating a node
|
|
||||||
|
|
||||||
1. Nodes can be operated on hardware operated by third party providers or hardware managed by the Caretaker.
|
|
||||||
1. Caretakers without the technical capacity to maintain a Node may, with the approval of the Board, retain a part-time system administrator to maintain the Node, or be paired with another Caretaker who can offer assistance.
|
|
||||||
|
|
||||||
## Cloud accounts
|
|
||||||
|
|
||||||
1. The Foundation will provide Caretakers cloud accounts on which to run the Software.
|
|
||||||
Caretakers must manage their credentials in accordance with Policy.
|
|
||||||
1. Cloud accounts can only be used to operate the Software.
|
|
||||||
|
|
||||||
## Security
|
|
||||||
|
|
||||||
1. Caretakers must follow all security Policy approved by the Board.
|
|
||||||
|
|
||||||
## Software
|
|
||||||
|
|
||||||
1. Caretakers must run the version of the Software approved by the Board, and must upgrade in accordance with Policy approved by the Board.
|
|
||||||
|
|
||||||
# Privacy and Information Handling
|
|
||||||
|
|
||||||
1. Caretakers must follow all privacy Policy approved by the Board.
|
|
||||||
1. Caretakers may release information to third parties only if it is required to comply with a binding legal processes such as a court order or a warrant, except as defined in privacy Policy approved by the Board.
|
|
||||||
1. If a Caretaker or the Foundation receives any legal request, order, or demand, the recipient must notify Staff and the other Caretakers immediately.
|
|
||||||
1. Caretakers will put a file in a public location on their website called canary.txt and will remove that file if the Caretaker has received a legal request, order, or demand but is restrained from notifying the Caretakers or the Foundation of the request.
|
|
@ -1,120 +0,0 @@
|
|||||||
---
|
|
||||||
layout: page
|
|
||||||
|
|
||||||
title: Foundation & governance
|
|
||||||
subtitle: Decentralized without dysfunction.
|
|
||||||
|
|
||||||
css: page-foundation
|
|
||||||
---
|
|
||||||
|
|
||||||
{% assign content = site.data.content-foundation %}
|
|
||||||
|
|
||||||
<section class="section section--intro">
|
|
||||||
<div class="row">
|
|
||||||
<header class="section__header">
|
|
||||||
<div class="grid grid--full grid-small--columns grid--center grid--gutters">
|
|
||||||
<div class="grid__col grid__col--4">
|
|
||||||
<div class="section__description">{{ content.intro | markdownify }}</div>
|
|
||||||
</div>
|
|
||||||
<div class="grid__col grid__col--2">
|
|
||||||
<svg width="559" height="253" aria-labelledby="title">
|
|
||||||
<title>IPDB Governance</title>
|
|
||||||
<use xlink:href="/assets/img/sprite.svg#governance"></use>
|
|
||||||
</svg>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section class="section section--background section--caretakers" id="caretakers">
|
|
||||||
<div class="row">
|
|
||||||
<header class="section__header">
|
|
||||||
<div class="grid grid--full grid-medium--columns grid--center grid--gutters">
|
|
||||||
<div class="grid__col grid__col--4">
|
|
||||||
<h1 class="section__title">{{ content.caretakers.title }}</h1>
|
|
||||||
<p class="section__description">{{ content.caretakers.description }}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="row features">
|
|
||||||
<div class="grid grid--full grid-small--half grid--gutters">
|
|
||||||
{% for feature in content.caretakers.features %}
|
|
||||||
<div class="grid__col">
|
|
||||||
<div class="feature">
|
|
||||||
<svg class="feature__image" width="298" height="220" aria-labelledby="title">
|
|
||||||
<title>IPDB Governance</title>
|
|
||||||
<use xlink:href="/assets/img/sprite.svg#distributed"></use>
|
|
||||||
</svg>
|
|
||||||
<h3 class="feature__title">{{ feature.title }}</h3>
|
|
||||||
<p class="feature__description">{{ feature.description }}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="row caretakers-current">
|
|
||||||
<div class="grid grid--full grid-medium--columns grid--center grid--gutters">
|
|
||||||
<div class="grid__col grid__col--4">
|
|
||||||
<h2 class="section__title">{{ content.caretakers.members.title }}</h2>
|
|
||||||
<p class="section__description">{{ content.caretakers.members.description }}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{% include caretakers.html %}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<footer class="row">
|
|
||||||
<footer class="section__actions">
|
|
||||||
<a href="mailto:{{ site.data.contact.email_caretakers }}?subject=Becoming a caretaker" class="button button--text">Become a caretaker</a>
|
|
||||||
</footer>
|
|
||||||
</footer>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section class="section section--board" id="board">
|
|
||||||
<div class="row">
|
|
||||||
<header class="section__header">
|
|
||||||
<div class="grid grid--full grid-medium--columns grid--center grid--gutters">
|
|
||||||
<div class="grid__col grid__col--4">
|
|
||||||
<h1 class="section__title">{{ content.board.title }}</h1>
|
|
||||||
<p class="section__description">{{ content.board.description }}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="row">
|
|
||||||
{% include board.html %}
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section class="section section--vision section--border" id="vision">
|
|
||||||
<div class="row">
|
|
||||||
<div class="grid grid--full grid-medium--columns grid--center grid--gutters">
|
|
||||||
<div class="grid__col grid__col--4">
|
|
||||||
<header class="section__header">
|
|
||||||
<h1 class="section__title">{{ content.vision.title }}</h1>
|
|
||||||
<p class="section__description">{{ content.vision.description }}</p>
|
|
||||||
</header>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="row">
|
|
||||||
<div class="grid grid--full grid-medium--columns grid--gutters">
|
|
||||||
<div class="grid__col grid__col--2">
|
|
||||||
<figure class="feature__image">
|
|
||||||
<svg>
|
|
||||||
<use xlink:href="/assets/img/sprite.svg#starbase-towers"></use>
|
|
||||||
</svg>
|
|
||||||
</figure>
|
|
||||||
</div>
|
|
||||||
<div class="grid__col grid__col--4">
|
|
||||||
{{ content.vision.text | markdownify }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
@ -1,19 +0,0 @@
|
|||||||
---
|
|
||||||
layout: page
|
|
||||||
|
|
||||||
title: Satzung
|
|
||||||
subtitle: Satzung des Interplanetary Origins e.V.
|
|
||||||
|
|
||||||
narrow: true
|
|
||||||
|
|
||||||
language: de
|
|
||||||
alternate:
|
|
||||||
- language: en
|
|
||||||
link: /foundation/articles/
|
|
||||||
---
|
|
||||||
|
|
||||||
<div class="alert alert--info">
|
|
||||||
This document is also available in <a href="/foundation/articles/">English</a>.
|
|
||||||
</div>
|
|
||||||
|
|
||||||
*In Arbeit...*
|
|
248
_src/index.html
248
_src/index.html
@ -4,6 +4,18 @@ layout: base
|
|||||||
front_page: true
|
front_page: true
|
||||||
|
|
||||||
css: page-front
|
css: page-front
|
||||||
|
|
||||||
|
redirect_from:
|
||||||
|
- /foundation/
|
||||||
|
- /foundation/articles/
|
||||||
|
- /foundation/satzung/
|
||||||
|
- /foundation/bylaws/
|
||||||
|
- /docs/
|
||||||
|
- /jobs/
|
||||||
|
- /privacy/
|
||||||
|
- /terms/
|
||||||
|
- /faq/
|
||||||
|
- /canary/
|
||||||
---
|
---
|
||||||
|
|
||||||
{% assign content = site.data.content-front %}
|
{% assign content = site.data.content-front %}
|
||||||
@ -20,7 +32,6 @@ css: page-front
|
|||||||
<div class="grid__col grid__col--4">
|
<div class="grid__col grid__col--4">
|
||||||
<h1 class="hero__title">{{ content.hero.title }}</h1>
|
<h1 class="hero__title">{{ content.hero.title }}</h1>
|
||||||
<h2 class="hero__description">{{ content.hero.description }}</h2>
|
<h2 class="hero__description">{{ content.hero.description }}</h2>
|
||||||
<a class="hero__action button button--primary" href="#getstarted" data-scroll>{{ content.hero.action }}</a>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</hgroup>
|
</hgroup>
|
||||||
@ -53,247 +64,22 @@ css: page-front
|
|||||||
</header>
|
</header>
|
||||||
|
|
||||||
|
|
||||||
<section class="section section--intro">
|
<section class="section section--farewell section--background" id="farewell">
|
||||||
<div class="row">
|
<div class="row row--narrow">
|
||||||
<header class="section__header">
|
<header class="section__header">
|
||||||
<div class="grid grid--full grid-small--columns grid--center grid--gutters">
|
<h1 class="section__title">{{ content.farewell.title }}</h1>
|
||||||
<div class="grid__col grid__col--4">
|
|
||||||
<h1 class="section__title">{{ content.intro.title }}</h1>
|
|
||||||
<p class="section__description">{{ content.intro.description }}</p>
|
|
||||||
|
|
||||||
{{ content.intro.text | markdownify }}
|
|
||||||
</div>
|
|
||||||
<div class="grid__col grid__col--2 grid__col--center">
|
|
||||||
<svg width="298" height="220" aria-labelledby="title">
|
|
||||||
<title>IPDB Distributed</title>
|
|
||||||
<use xlink:href="/assets/img/sprite.svg#distributed"></use>
|
|
||||||
</svg>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<section class="features">
|
<div class="lead">
|
||||||
{% for feature in content.intro.features %}
|
{{ content.farewell.text | markdownify }}
|
||||||
<div class="feature">
|
|
||||||
<div class="grid grid--full grid-small--half grid-medium--columns grid--center grid--gutters">
|
|
||||||
<div class="grid__col grid__col--2">
|
|
||||||
<figure class="feature__image">
|
|
||||||
<img src="/assets/img/{{ feature.image }}.jpg" srcset="/assets/img/{{ feature.image }}.jpg 1x, /assets/img/{{ feature.image }}@2x.jpg 2x" alt="{{ feature.title }}" width="400">
|
|
||||||
</figure>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="grid__col grid__col--4">
|
|
||||||
<h1 class="feature__title">{{ feature.title }}</h1>
|
|
||||||
<div class="feature__text">{{ feature.text | markdownify }}</div>
|
|
||||||
{% if feature.list %}
|
|
||||||
<ul class="feature__list">
|
|
||||||
{% for item in feature.list %}
|
|
||||||
<li>{{ item }}</li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{% endfor %}
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<footer class="section__actions">
|
|
||||||
<a class="button button--primary" href="{{ site.signup.link }}">{{ site.signup.button }}</a>
|
|
||||||
<a href="" class="button button--text">Read IPDB Documentation</a>
|
|
||||||
</footer>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
<section class="section section--background section--foundation">
|
|
||||||
<div class="row">
|
|
||||||
<header class="section__header">
|
|
||||||
<div class="grid grid--full grid-small--columns grid--center grid--gutters">
|
|
||||||
<div class="grid__col grid__col--4">
|
|
||||||
<h1 class="section__title">{{ content.foundation.title }}</h1>
|
|
||||||
<p class="section__description">{{ content.foundation.description }}</p>
|
|
||||||
</div>
|
|
||||||
<div class="grid__col grid__col--2">
|
|
||||||
<svg width="559" height="253" aria-labelledby="title">
|
|
||||||
<title>IPDB Governance</title>
|
|
||||||
<use xlink:href="/assets/img/sprite.svg#governance"></use>
|
|
||||||
</svg>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
{% include caretakers.html %}
|
|
||||||
|
|
||||||
<footer class="section__actions">
|
|
||||||
<a href="/foundation/" class="button button--text">{{ content.foundation.button }}</a>
|
|
||||||
</footer>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
<section class="section section--roadmap">
|
|
||||||
<div class="row">
|
|
||||||
<header class="section__header">
|
|
||||||
<div class="grid grid--full grid-medium--columns grid--gutters">
|
|
||||||
<div class="grid__col grid__col--4">
|
|
||||||
<h1 class="section__title">{{ content.roadmap.title }}</h1>
|
|
||||||
<p class="section__description">{{ content.roadmap.description }}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</header>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="roadmap">
|
|
||||||
<div class="row">
|
|
||||||
|
|
||||||
{% for step in content.roadmap.steps %}
|
|
||||||
|
|
||||||
{% assign status = step.status %}
|
|
||||||
|
|
||||||
<div class="roadmap__step is-{{ status }}">
|
|
||||||
<p class="roadmap__net">{{ step.net }}</p>
|
|
||||||
<p class="roadmap__target">{{ step.target }}</p>
|
|
||||||
{% if step.time %}<p class="roadmap__time">{{ step.time }}</p>{% endif %}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
<section class="section section--background section--getstarted" id="getstarted">
|
|
||||||
<div class="row">
|
|
||||||
<header class="section__header">
|
|
||||||
<div class="grid grid--full grid-medium--columns grid--gutters">
|
|
||||||
<div class="grid__col grid__col--4">
|
|
||||||
<h1 class="section__title">{{ content.getstarted.title }}</h1>
|
|
||||||
<p class="section__description">{{ content.getstarted.description }}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<div class="grid grid--full grid-medium--third">
|
|
||||||
|
|
||||||
{% for step in content.getstarted.steps %}
|
|
||||||
|
|
||||||
<div class="grid__col">
|
|
||||||
{% if step.link %}
|
|
||||||
<a class="getstarted" href="{{ step.link }}">
|
|
||||||
{% else %}
|
|
||||||
<div class="getstarted">
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<h2 class="getstarted__title">{{ step.title }}</h2>
|
|
||||||
<div class="getstarted__text">{{ step.text | markdownify }}</div>
|
|
||||||
|
|
||||||
{% if step.link %}
|
|
||||||
</a>
|
|
||||||
{% else %}
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<footer class="section__actions">
|
|
||||||
<a href="/docs/" class="button button--text">IPDB Documentation</a>
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
<div class="getstarted-bigchaindb">
|
|
||||||
<div class="grid grid--full grid-small--half grid-medium--columns grid--center grid--gutters">
|
|
||||||
<div class="grid__col grid__col--2">
|
|
||||||
<figure class="feature__image">
|
|
||||||
<svg aria-labelledby="title">
|
|
||||||
<title>BigchainDB</title>
|
|
||||||
<use xlink:href="/assets/img/sprite.svg#feature-bigchaindb"></use>
|
|
||||||
</svg>
|
|
||||||
</figure>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="grid__col grid__col--4">
|
|
||||||
<h1 class="feature__title">Want to send a transaction to IPDB right now?</h1>
|
|
||||||
<p class="feature__text">Create your first transaction quickly and easily on the BigchainDB Get Started page, or the art of crafting a perfect transaction.</p>
|
|
||||||
<a class="button button--text" href="https://www.bigchaindb.com/getstarted/">Send your first transaction</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="getstarted-tools">
|
|
||||||
<div class="grid grid--full grid-small--half grid-medium--columns grid--gutters">
|
|
||||||
<div class="grid__col grid__col--2">
|
|
||||||
<h2 class="feature__title">Community Tools</h2>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="grid__col grid__col--4">
|
|
||||||
|
|
||||||
{% for tool in content.getstarted.tools %}
|
|
||||||
<div class="tool">
|
|
||||||
<h3 class="tool__title">
|
|
||||||
<a href="{{ tool.link }}">{{ tool.title }}</a>
|
|
||||||
|
|
||||||
{% if tool.github %}
|
|
||||||
<a href="{{ tool.github }}" title="GitHub">
|
|
||||||
<svg class="icon" aria-labelledby="title">
|
|
||||||
<title>GitHub</title>
|
|
||||||
<use xlink:href="/assets/img/sprite.svg#icon-github"></use>
|
|
||||||
</svg>
|
|
||||||
</a>
|
|
||||||
{% endif %}
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<p class="tool__description">
|
|
||||||
{{ tool.description }}
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
||||||
<section class="section section--connect">
|
<section class="section section--connect">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="grid grid--full grid-small--half grid--gutters">
|
|
||||||
<div class="grid__col">
|
|
||||||
<header class="section__header">
|
|
||||||
<h1 class="section__title">{{ content.connect.title }}</h1>
|
|
||||||
<p class="section__description">{{ content.connect.description }}</p>
|
|
||||||
</header>
|
|
||||||
</div>
|
|
||||||
<div class="grid__col">
|
|
||||||
<div class="social">
|
|
||||||
<h2 class="connect__title">{{ content.connect.follow_title }}</h2>
|
|
||||||
{% for item in site.data.contact.social %}
|
|
||||||
<a class="social-link" href="{{ item.link }}" title="{{ item.name }}">
|
|
||||||
<svg class="icon" aria-labelledby="title">
|
|
||||||
<title>{{ item.name }}</title>
|
|
||||||
<use xlink:href="/assets/img/sprite.svg#icon-{{ item.name | downcase }}"></use>
|
|
||||||
</svg>
|
|
||||||
</a>
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="connect connect--newsletter">
|
|
||||||
<h2 class="connect__title">{{ content.connect.newsletter_title }}</h2>
|
|
||||||
<p>{{ content.connect.newsletter_text }}</p>
|
|
||||||
|
|
||||||
{% include form-newsletter.html %}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="connect connect--blog">
|
<div class="connect connect--blog">
|
||||||
<h2 class="connect__title">{{ content.connect.blog_title }}</h2>
|
|
||||||
|
|
||||||
<div class="articles">
|
<div class="articles">
|
||||||
<div class="grid grid--full grid-small--half grid-medium--fourth grid--gutters">
|
<div class="grid grid--full grid-small--half grid-medium--fourth grid--gutters">
|
||||||
{% for article in site.articles limit: 4 %}
|
{% for article in site.articles limit: 4 %}
|
||||||
|
11
_src/jobs.md
11
_src/jobs.md
@ -1,11 +0,0 @@
|
|||||||
---
|
|
||||||
layout: page
|
|
||||||
|
|
||||||
title: Jobs
|
|
||||||
|
|
||||||
narrow: true
|
|
||||||
---
|
|
||||||
|
|
||||||
# Jobs @ Interplanetary Database Foundation
|
|
||||||
|
|
||||||
We'll be adding job openings in the next few months. In the meantime, if you're interested in working with us, don't hesitate to reach out: [contact@ipdb.io](mailto:contact@ipdb.io)
|
|
@ -1,53 +0,0 @@
|
|||||||
---
|
|
||||||
layout: page
|
|
||||||
|
|
||||||
title: Privacy policy
|
|
||||||
|
|
||||||
narrow: true
|
|
||||||
---
|
|
||||||
|
|
||||||
*29 November 2016*
|
|
||||||
|
|
||||||
## Introduction
|
|
||||||
|
|
||||||
These policies apply to your use of this website and to information you submit through this website. Use of the IPDB network is subject to its own Terms of Service and Privacy Policy.
|
|
||||||
|
|
||||||
We collect and use information in accordance with the German Telemedia Act (Telemediengesetz) and (Bundesdatenschutzgesetz), or with your express consent. We do not knowingly collect personal information from children under 18 without permission from a parent or guardian.
|
|
||||||
|
|
||||||
## What information we collect and how we use it
|
|
||||||
|
|
||||||
We may log information about your visit to this site (your IP address, browser version, and so on) so we can improve the site and keep it secure.
|
|
||||||
|
|
||||||
If you submit information through the forms on this site, we will collect the information you submit. We may use that information to contact you or to improve IPDB.
|
|
||||||
|
|
||||||
## How we store information
|
|
||||||
|
|
||||||
We may use cloud service providers to store information. Information may be stored outside of the European Union, but we only use providers that comply with the US-EU [Privacy Shield](http://ec.europa.eu/justice/data-protection/international-transfers/eu-us-privacy-shield/index_en.htm). Right now we use the following providers, which each have their own privacy policies:
|
|
||||||
|
|
||||||
* Google Apps for email and internal document sharing ([Privacy Policy](https://www.google.com/policies/privacy/)).
|
|
||||||
* Mailchimp for mailing lists ([Privacy Policy](https://mailchimp.com/legal/privacy/)).
|
|
||||||
* 3Scale for the Test Network user portal ([Privacy Policy](https://www.redhat.com/en/about/privacy-statement)).
|
|
||||||
|
|
||||||
## How information is shared
|
|
||||||
|
|
||||||
We will not share or sell the identifiable personal information we collect or generate except as we explain in this section.
|
|
||||||
|
|
||||||
We may share personal information with BigchainDB GmbH, the company responsible for the development of the software IPDB runs on. This information will be used in accordance with the [BigchainDB Privacy Policy](https://bigchaindb.com/privacy) and our information sharing agreement with BigchainDB.
|
|
||||||
|
|
||||||
We may share non-personal or aggregate information, such as usage statistics for the site.
|
|
||||||
|
|
||||||
## Cookies
|
|
||||||
|
|
||||||
We only use one cookie: [Google Analytics](https://www.google.com/analytics/). It provides information about how you use the site so we can make it better. We respect the [Do Not Track](https://en.wikipedia.org/wiki/Do_Not_Track) header. You can block tracking cookies entirely by installing a browser add-on such as [Privacy Badger](https://www.eff.org/privacybadger) or [uBlock Origin](https://github.com/gorhill/uBlock).
|
|
||||||
|
|
||||||
## Updating or deleting your personal information
|
|
||||||
|
|
||||||
We will update or delete your personal information if you ask us to unless we are under a legal obligation to keep it. Just email us at privacy@ipdb.foundation.
|
|
||||||
|
|
||||||
## Legal requests
|
|
||||||
|
|
||||||
We may be required to disclose information to comply with the law or processes such as warrants or court orders. [Watch our canary](/canary/).
|
|
||||||
|
|
||||||
## Open door policy
|
|
||||||
|
|
||||||
We believe privacy policies should be easy to read and make sense to non-lawyers. If something isn't clear or if you have questions, email us at privacy@ipdb.foundation.
|
|
@ -1,9 +0,0 @@
|
|||||||
---
|
|
||||||
layout: page
|
|
||||||
|
|
||||||
title: IPDB Terms of Service
|
|
||||||
|
|
||||||
narrow: true
|
|
||||||
---
|
|
||||||
|
|
||||||
*Coming soon...*
|
|
38
package.json
38
package.json
@ -36,44 +36,44 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"babel-core": "^6.26.0",
|
"babel-core": "^6.26.0",
|
||||||
"babel-eslint": "^8.0.1",
|
"babel-eslint": "^8.1.2",
|
||||||
"babel-preset-env": "^1.6.1",
|
"babel-preset-env": "^1.6.1",
|
||||||
"browser-sync": ">=2.10.0",
|
"browser-sync": "^2.23.2",
|
||||||
"concurrent-transform": "^1.0.0",
|
"concurrent-transform": "^1.0.0",
|
||||||
"critical": "^1.0.0",
|
"critical": "^1.1.0",
|
||||||
"cross-spawn": "^5.1.0",
|
"cross-spawn": "^5.1.0",
|
||||||
"del": "^3.0.0",
|
"del": "^3.0.0",
|
||||||
"eslint": "^4.10.0",
|
"eslint": "^4.14.0",
|
||||||
"eslint-config-ascribe": "^3.0.4",
|
"eslint-config-ascribe": "^3.0.5",
|
||||||
"eslint-plugin-import": "^2.8.0",
|
"eslint-plugin-import": "^2.8.0",
|
||||||
"gulp": "github:gulpjs/gulp#4.0",
|
"gulp": "github:gulpjs/gulp#4.0",
|
||||||
"gulp-autoprefixer": "^4.0.0",
|
"gulp-autoprefixer": "^4.1.0",
|
||||||
"gulp-awspublish": "^3.0.0",
|
"gulp-awspublish": "^3.3.0",
|
||||||
"gulp-awspublish-router": "^0.1.1",
|
"gulp-awspublish-router": "^0.1.3",
|
||||||
"gulp-clean-css": "^3.9.0",
|
"gulp-clean-css": "^3.9.2",
|
||||||
"gulp-cli": "^2.0.0",
|
"gulp-cli": "^2.0.0",
|
||||||
"gulp-concat": "^2.6.0",
|
"gulp-concat": "^2.6.1",
|
||||||
"gulp-header": "^1.8.9",
|
"gulp-header": "^1.8.9",
|
||||||
"gulp-htmlmin": "^4.0.0",
|
"gulp-htmlmin": "^4.0.0",
|
||||||
"gulp-if": "^2.0.2",
|
"gulp-if": "^2.0.2",
|
||||||
"gulp-imagemin": "^4.0.0",
|
"gulp-imagemin": "^4.1.0",
|
||||||
"gulp-include": "^2.0.2",
|
"gulp-include": "^2.3.1",
|
||||||
"gulp-load-plugins": "^1.5.0",
|
"gulp-load-plugins": "^1.5.0",
|
||||||
"gulp-rename": "^1.2.2",
|
"gulp-rename": "^1.2.2",
|
||||||
"gulp-replace": "^0.6.1",
|
"gulp-replace": "^0.6.1",
|
||||||
"gulp-rev": "^8.0.0",
|
"gulp-rev": "^8.1.1",
|
||||||
"gulp-rev-replace": "^0.4.2",
|
"gulp-rev-replace": "^0.4.3",
|
||||||
"gulp-sass": "^3.1.0",
|
"gulp-sass": "^3.1.0",
|
||||||
"gulp-sourcemaps": "^2.6.1",
|
"gulp-sourcemaps": "^2.6.3",
|
||||||
"gulp-svg-sprite": "^1.3.7",
|
"gulp-svg-sprite": "^1.3.7",
|
||||||
"gulp-uglify": "^3.0.0",
|
"gulp-uglify": "^3.0.0",
|
||||||
"gulp-util": "^3.0.6",
|
"gulp-util": "^3.0.8",
|
||||||
"js-yaml": "^3.10.0",
|
"js-yaml": "^3.10.0",
|
||||||
"request": "^2.83.0",
|
"request": "^2.83.0",
|
||||||
"stylelint": "^8.2.0",
|
"stylelint": "^8.4.0",
|
||||||
"stylelint-config-bigchaindb": "^1.0.0",
|
"stylelint-config-bigchaindb": "^1.2.0",
|
||||||
"stylelint-config-standard": "^18.0.0",
|
"stylelint-config-standard": "^18.0.0",
|
||||||
"uglify-es": "^3.1.6"
|
"uglify-es": "^3.3.4"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=7.0.0"
|
"node": ">=7.0.0"
|
||||||
|
Loading…
Reference in New Issue
Block a user