specs/docs/draft/13-3rd-party.md

123 lines
4.4 KiB
Markdown
Raw Normal View History

2020-05-04 08:24:20 +00:00
---
permalink: /spec/13
2020-05-15 09:15:52 +00:00
parent: Draft specs
title: 13/3RD-PARTY-USAGE
2020-05-04 08:24:20 +00:00
---
2020-05-04 08:14:18 +00:00
# 13/3RD-PARTY
2020-05-12 10:45:29 +00:00
> Version: 0.1
>
> Status: Draft
>
> Authors: Volodymyr Kozieiev <volodymyr@status.im>
2020-05-15 09:15:52 +00:00
# Third party APIs used for core functionality
2020-05-04 08:14:18 +00:00
## Table of Contents
2020-05-21 09:44:13 +00:00
1. [Abstract](#abstract)
2020-05-04 08:14:18 +00:00
2. [Definitions](#definitions)
2020-05-04 08:24:20 +00:00
3. [Why 3rd party API can be a problem?](#why-3rd-party-api-can-be-a-problem)
2020-05-12 10:45:29 +00:00
4. [3rd party APIs used by Status](#3rd-party-apis-used-by-current-status-app)
2020-05-04 08:24:20 +00:00
* [Infura](#infura)
* [Etherscan](#etherscan)
* [CryptoCompare](#cryptocompare)
* [Collectibles](#collectibles)
* [Iubenda](#iubenda)
5. [Changelog](#changelog)
2020-05-25 12:18:39 +00:00
6. [Copyright](#copyright)
2020-05-04 08:14:18 +00:00
## Abstract
2020-05-21 09:44:13 +00:00
Remove personal pronouns (#132) Resolves #115 * Rewrote 'you' and 'your' personal pronouns Additionally I've made related sentences more concise. NOTE I've ignored usages of you and your in comments and in links and section titles * Rewrote 'we' personal pronouns Again not changing usages in comments * Removed 'passive' and/or ambiguous language * Added README information about language mode * Added prepend to word list * Update README.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Added missing 'a's * Moved style related README info into STYLE-GUIDELINE.md * Added reference to Google Technical Writing * Tweaks to maintain consistency of changes across related specs * Addressed spelling and added link to the Discord server * Update docs/draft/12-sticker-pack.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/stable/11-waku-mailserver.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Addressed feedback Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Kim De Mey <kim.demey@gmail.com>
2020-06-03 22:02:45 +00:00
This specification discusses 3rd party APIs that Status relies on. These APIs provide various capabilities such as:
2020-05-15 09:15:52 +00:00
- communicate with the Ethereum network
- allow users to see address and transaction details on external website
- get fiat/crypto exchange rates
- get information about collectibles
2020-05-12 10:45:29 +00:00
- hosts privacy policy
2020-05-04 08:14:18 +00:00
## Definitions
| Term | Description |
| ------------- |-------------|
| Fiat money | Currency which established as money, often by government regulation, but that has no intrinsic value
| Full node | Any computer, connected to the Ethereum network, which fully enforces all the consensus rules of Ethereum.
| Crypto-collectible | A cryptographically unique, non-fungible digital asset . Unlike cryptocurrencies, which require all tokens to be identical, each crypto-collectible token is unique or limited in quantity.
## Why 3rd party API can be a problem?
Remove personal pronouns (#132) Resolves #115 * Rewrote 'you' and 'your' personal pronouns Additionally I've made related sentences more concise. NOTE I've ignored usages of you and your in comments and in links and section titles * Rewrote 'we' personal pronouns Again not changing usages in comments * Removed 'passive' and/or ambiguous language * Added README information about language mode * Added prepend to word list * Update README.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Added missing 'a's * Moved style related README info into STYLE-GUIDELINE.md * Added reference to Google Technical Writing * Tweaks to maintain consistency of changes across related specs * Addressed spelling and added link to the Discord server * Update docs/draft/12-sticker-pack.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/stable/11-waku-mailserver.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Addressed feedback Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Kim De Mey <kim.demey@gmail.com>
2020-06-03 22:02:45 +00:00
Relying on 3rd party APIs interferes with `censorship resistance` Status principle. Since Status aims to avoid suppression of information it is important to reduce amount of 3rd parties crucial for app functionality.
2020-05-04 08:14:18 +00:00
2020-05-12 10:45:29 +00:00
## 3rd party APIs used by current Status app
2020-05-04 08:14:18 +00:00
### Infura
##### What is it?
2020-05-15 09:15:52 +00:00
Infura hosts a collection of full nodes for the Ethereum network and provides an API to access both the Ethereum and IPFS networks without having to run a full node.
2020-05-04 08:14:18 +00:00
##### How Status use it?
Status works on mobile devices and therefore can't rely on local node. So all communication to Ethereum network happens via Infura.
##### Concerns
Remove personal pronouns (#132) Resolves #115 * Rewrote 'you' and 'your' personal pronouns Additionally I've made related sentences more concise. NOTE I've ignored usages of you and your in comments and in links and section titles * Rewrote 'we' personal pronouns Again not changing usages in comments * Removed 'passive' and/or ambiguous language * Added README information about language mode * Added prepend to word list * Update README.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Added missing 'a's * Moved style related README info into STYLE-GUIDELINE.md * Added reference to Google Technical Writing * Tweaks to maintain consistency of changes across related specs * Addressed spelling and added link to the Discord server * Update docs/draft/12-sticker-pack.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/stable/11-waku-mailserver.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Addressed feedback Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Kim De Mey <kim.demey@gmail.com>
2020-06-03 22:02:45 +00:00
Making a HTTP request means that a user leaks metadata, which can be used in various attacks if an attacker hacks the service.
2020-05-15 09:15:52 +00:00
Infura hosts on centralized providers. If these fail or the provider cuts off service, then Status features requiring Ethereum calls will.
2020-05-04 08:14:18 +00:00
### Etherscan
##### What is it?
2020-05-15 09:15:52 +00:00
Etherscan is a service that allows user to explore and search the Ethereum blockchain for transactions, addresses, tokens, prices and other activities taking place on Ethereum.
2020-05-04 08:14:18 +00:00
##### How Status use it?
2020-05-15 09:15:52 +00:00
Status Wallet allows users to view details of addresses and transactions on Etherscan.
2020-05-04 08:14:18 +00:00
##### Concerns
If Etherscan fails user won't be able to view address or transaction details with it. But inside the app this info will still be available.
### CryptoCompare
##### What is it?
CryptoCompare is a service that shows live streaming prices, charts and analysis from top crypto exchanges.
##### How Status use it?
Status regularly fetches crypto prices from CryptoCompare. Using that info Status calculates fiat value for transaction or wallet assets.
##### Concerns
Remove personal pronouns (#132) Resolves #115 * Rewrote 'you' and 'your' personal pronouns Additionally I've made related sentences more concise. NOTE I've ignored usages of you and your in comments and in links and section titles * Rewrote 'we' personal pronouns Again not changing usages in comments * Removed 'passive' and/or ambiguous language * Added README information about language mode * Added prepend to word list * Update README.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Added missing 'a's * Moved style related README info into STYLE-GUIDELINE.md * Added reference to Google Technical Writing * Tweaks to maintain consistency of changes across related specs * Addressed spelling and added link to the Discord server * Update docs/draft/12-sticker-pack.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/stable/11-waku-mailserver.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Addressed feedback Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Kim De Mey <kim.demey@gmail.com>
2020-06-03 22:02:45 +00:00
Making a HTTP request means that a user leaks metadata, which can be used in various attacks if an attacker hacks the service.
2020-05-04 08:14:18 +00:00
If CryptoCompare fails Status won't be able to show fiat equivalent of crypto in wallet.
### Collectibles
There is a set of services that used for getting information about collectibles:
- https://api.pixura.io/graphql
- https://www.etheremon.com/api
- https://us-central1-cryptostrikers-prod.cloudfunctions.net/cards/
- https://api.cryptokitties.co/
##### Concerns
Remove personal pronouns (#132) Resolves #115 * Rewrote 'you' and 'your' personal pronouns Additionally I've made related sentences more concise. NOTE I've ignored usages of you and your in comments and in links and section titles * Rewrote 'we' personal pronouns Again not changing usages in comments * Removed 'passive' and/or ambiguous language * Added README information about language mode * Added prepend to word list * Update README.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Added missing 'a's * Moved style related README info into STYLE-GUIDELINE.md * Added reference to Google Technical Writing * Tweaks to maintain consistency of changes across related specs * Addressed spelling and added link to the Discord server * Update docs/draft/12-sticker-pack.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/stable/11-waku-mailserver.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Addressed feedback Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Kim De Mey <kim.demey@gmail.com>
2020-06-03 22:02:45 +00:00
Making a HTTP request means that a user leaks metadata, which can be used in various attacks if an attacker hacks the service.
2020-05-04 08:14:18 +00:00
### Iubenda
2020-05-04 08:14:18 +00:00
##### What is it?
2020-05-04 08:14:18 +00:00
Service that helps in creating documents that make websites and apps compliant with the law across multiple countries and legislations.
##### How Status use it?
Privacy policy of Status hosted on Iubenda.
##### Concerns
If Iubenda fails Status users won't be able to navigate to app's privacy policy.
2020-05-04 08:24:20 +00:00
## Changelog
| Version | Comment |
| :-----: | ------- |
2020-05-18 09:00:44 +00:00
| [0.1.0](https://github.com/status-im/specs/blob/master/docs/draft/9-3rd-party.md) | Initial Release |
2020-05-04 08:24:20 +00:00
## Copyright
Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).