Skip to content

Commit

Permalink
Merge branch 'main' into fix/mana-calculator/add-input-validation
Browse files Browse the repository at this point in the history
  • Loading branch information
VmMad committed Nov 22, 2023
2 parents e9b449a + 7a48bf0 commit 9166a92
Show file tree
Hide file tree
Showing 74 changed files with 2,361 additions and 1,925 deletions.
100 changes: 100 additions & 0 deletions articleRedirects.js
Original file line number Diff line number Diff line change
Expand Up @@ -542,4 +542,104 @@ exports.articleRedirects = [
from: '/use/wallets/what-is-a-wallet',
to: '/get-started/wallets/firefly',
},
{
from: '/identity.rs/concepts/decentralized_identifiers/alias/',
to: '/identity.rs/explanations/about-alias-outputs/',
},
{
from: '/identity.rs/concepts/decentralized_identifiers/create/',
to: '/identity.rs/how-tos/decentralized-identifiers/create/',
},
{
from: '/identity.rs/concepts/decentralized_identifiers/delete/',
to: '/identity.rs/how-tos/decentralized-identifiers/delete/',
},
{
from: '/identity.rs/concepts/decentralized_identifiers/overview/',
to: '/identity.rs/explanations/decentralized-identifiers/',
},
{
from: '/identity.rs/concepts/decentralized_identifiers/resolve/',
to: '/identity.rs/how-tos/decentralized-identifiers/resolve/',
},
{
from: '/identity.rs/concepts/decentralized_identifiers/update/',
to: '/identity.rs/how-tos/decentralized-identifiers/update/',
},
{
from: '/identity.rs/concepts/domain_linkage/',
to: '/identity.rs/how-tos/domain-linkage/create-and-verify/',
},
{
from: '/identity.rs/concepts/key_storage/',
to: '/identity.rs/how-tos/key-storage/',
},
{
from: '/identity.rs/concepts/verifiable_credentials/create/',
to: '/identity.rs/how-tos/verifiable-credentials/create/',
},
{
from: '/identity.rs/concepts/verifiable_credentials/overview/',
to: '/identity.rs/explanations/verifiable-credentials/',
},
{
from: '/identity.rs/concepts/verifiable_credentials/revocation/',
to: '/identity.rs/how-tos/verifiable-credentials/revocation/',
},
{
from: '/identity.rs/concepts/verifiable_credentials/verifiable_presentations/',
to: '/identity.rs/explanations/verifiable-presentations/',
},
{
from: '/identity.rs/decentralized_identity/',
to: '/identity.rs/explanations/decentralized-identifiers/',
},
{
from: '/identity.rs/getting_started/create_and_publish/',
to: '/identity.rs/how-tos/decentralized-identifiers/create/',
},
{
from: '/identity.rs/getting_started/install/',
to: '/identity.rs/getting-started/rust/',
},
{
from: '/identity.rs/getting_started/overview/',
to: '/identity.rs/getting-started/rust/',
},
{
from: '/identity.rs/introduction/',
to: '/identity.rs/welcome/',
},
{
from: '/identity.rs/libraries/overview/',
to: '/identity.rs/welcome/',
},
{
from: '/identity.rs/libraries/rust/getting_started/',
to: '/identity.rs/getting-started/rust/',
},
{
from: '/identity.rs/libraries/wasm/api_reference/',
to: '/identity.rs/references/api/wasm/',
},
{
from: '/identity.rs/libraries/wasm/getting_started/',
to: '/identity.rs/getting-started/wasm/',
},
{
from: '/identity.rs/specs/did/iota_did_method_spec/',
to: '/identity.rs/references/specifications/iota-did-method-spec/',
},
{
from: '/identity.rs/specs/did/overview/',
to: '/identity.rs/references/specifications/overview/',
},
{
from: '/identity.rs/specs/overview/',
to: '/identity.rs/references/specifications/overview/',
},
{
from: '/identity.rs/specs/revocation_bitmap_2022/',
to: '/identity.rs/references/specifications/revocation-bitmap-2022/',
},
];
2 changes: 1 addition & 1 deletion banners/identity-deprecated.mdx
Original file line number Diff line number Diff line change
@@ -1 +1 @@
This version of IOTA Identity is deprecated. Please upgrade to [Identity 0.6 for Chrysalis Networks](/identity.rs/introduction/) and follow the migration instructions for upgrading Stronghold Snapshot files [here](/identity.rs/tutorials/migrate-stronghold/), or upgrade to the latest version of [IOTA Identity for Stardust Networks](/identity.rs/0.7/introduction/).
This version of IOTA Identity is deprecated. Please upgrade to [Identity 0.6 for Chrysalis Networks](/identity.rs/welcome/) and follow the migration instructions for upgrading Stronghold Snapshot files [here](/identity.rs/tutorials/migrate-stronghold/), or upgrade to the latest version of [IOTA Identity for Stardust Networks](/identity.rs/0.7/introduction/).
28 changes: 0 additions & 28 deletions common/jargon.js
Original file line number Diff line number Diff line change
Expand Up @@ -60,13 +60,10 @@ module.exports = {
'An attack where a node downloads malicious snapshot files, including invalid transactions and balances.',
'bootstrapping phase':
'The initial phase of the IOTA 2.0 network where rewards and delegation mechanisms are designed to encourage early contributions to the network"s security.',
branch:
'In IOTA 2.0, this term refers to a version of the ledger that temporarily coexists with other versions, each spawned by conflicting transactions.',
'causal order':
'The order of events in the Tangle that reflects the causal relationships between transactions.',
'chain-switching rule':
'The Chain-Switching Rule is an algorithm that allows nodes to switch their Slot Commitment Chain to the heaviest one, resolving divergent network conditions and discrepancies in the commitments.',
child: 'In IOTA 2.0, a transaction that is referenced by Parents.',
chronicle:
"A permanode solution from the IOTA Foundation. It enables storing all transactions reaching a node in a secure and scalable distributed database. Chronicle allows the Tangle's unlimited data flow to be stored indefinitely and makes it easily accessible.",
chrysalis: 'The name of the IOTA 1.5 network upgrade.',
Expand Down Expand Up @@ -100,10 +97,6 @@ module.exports = {
'Hardware components or devices that are affordable for individual consumers.',
coordinator:
"(only up to iota 2.0) A trusted entity used as protection against malicious transactions. The Tangle is still in its beta phase and relies on the coordinator. This is open-source and runs on a Hornet node. The COO acts as a centralized, voluntary, and temporary alternative consensus mechanism for the Tangle by regularly sending honest transactions to the full nodes. These transactions contain a signed message with no value, called a milestone. Full nodes consider a transaction as confirmed only if it is approved by a milestone. The coordinator can confirm transactions but can't bypass consensus rules. Hence, creating, freezing, or stealing tokens is impossible for it. The coordinator's influence on the tangle is limited as the tangle is continuously monitored by all other full nodes. The COO will be switched off with the IOTA 2.0 upgrade.",
'core application':
'In IOTA 2.0, a core application is an application that all nodes must execute. For instance, the value transfer application.',
'core object type':
'In IOTA 2.0, this is an object type that all nodes must parse. Parsers are computer programs that decompose and convert input into a format more suitable for further processing.',
cryptocurrency:
'A digital or virtual form of currency maintained by a distributed ledger.',
CTPS: 'Confirmed transactions per second.',
Expand Down Expand Up @@ -145,7 +138,6 @@ module.exports = {
DLT: 'Distributed Ledger Technologyl; A type of technology that enables the secure and decentralized storage and sharing of information across a network and allows unaligned parties to maintain a common state. A DLT is a database system that enables the peer-to-peer transfer and recording of digital assets. Each transaction within a DLT is recorded in a distributed ledger, which is maintained across all network nodes.',
'double-spending':
'Two transactions that attempt to consume the same UTXO. Double-spending represents a major threat to digital currency systems. It involves spending the same digital token more than once. Digital tokens, unlike physical currency, comprise digital files that can be easily duplicated or counterfeited.',
dRNG: 'Decentralized Random Number Generator; dRNG is crucial for the Fast Probabilistic Consensus (FPC) as it fortifies the consensus model against attacks. For conflicting transactions, the FPC conducts several rounds of voting. The decision threshold for nodes is 50% plus or minus a slight random deviation generated by dRNG. This randomness prevents potential adversaries from manipulating the vote.',
'dust protection':
'(iota 1.5) To prevent IOTA from being exploited, one might continually send 1i to newly generated addresses for years, causing the ledger’s memory requirements to surge until only large servers could operate a full node. With Chrysalis, microtransactions (<1Mi) require the recipient address to enable dust. This permits a limited amount of dust transactions. Additionally, addresses with Colored Coins must be tokenized. Post-Coordicide, IOTA 2.0 will introduce a different solution.',
'dynamic availability':
Expand All @@ -164,7 +156,6 @@ module.exports = {
'Malicious actions or vulnerabilities that can be used to manipulate or compromise a system or network.',
'fair access':
'A property that ensures accessibility to network resources and functionalities for all participants, based in some Sybil protection algorithm.',
FPC: 'Fast Probabilistic Consensus; FPC is a consensus mechanism that employs a random number and node opinions to achieve consensus. In On-Tangle Voting, FPC is utilized only in specific edge cases. For more details, refer to OTVFPCS.',
faucet:
'A faucet is a reservoir of tokens. Users can easily request a limited quantity of tokens for testing purposes, which proves particularly useful for app developers.',
fees: 'Amount in Mana consumed by users for the creation of blocks.',
Expand All @@ -185,16 +176,12 @@ module.exports = {
"Full nodes constitute the network's backbone. For a full node to be part of the peer-to-peer network, it must always be online and connected to other full nodes. Moreover, it has to synchronize its transaction database with every other full node in the network. Full nodes process transactions from clients (like wallets and DApps), append them to the ledger, and share them with all other network nodes.",
'future cone':
'The future cone refers to all messages that directly or indirectly reference a particular message.',
'generic data object':
'In IOTA 2.0, this is the most elementary object type. All unrecognized data objects are treated as generic data objects.',
'genesis commitment':
'Every slot commitment chain starts with the genesis commitment (commitment of slot 0) in order to be considered valid.',
'genesis slot':
'The initial slot in the protocol"s timeline from which all subsequent slots are linked.',
'genesis transaction':
"The Genesis transaction is the inaugural transaction that spawned all IOTA and Shimmer tokens, distributing them to the purchasers' addresses.",
'goshimmer (no main net)':
'GoShimmer is a prototype of IOTA’s coordinator-less version written in the Go language. GoShimmer encapsulates various Coordicide modules, like auto peering, node identities, Mana, among others. It serves as a testing ground for the first alpha version and the testnet. Components tested in GoShimmer are systematically integrated with Hornet.',
'gossip protocol':
'A protocol for relaying information among nodes in a network.',
'hash values':
Expand Down Expand Up @@ -259,8 +246,6 @@ module.exports = {
mana: 'A reward resource generated by holding IOTA tokens. It is utilized for block issuance, access to network throughput, and protecting against Sybil attacks.',
'mana burn':
'The process of consuming a specific amount of Mana to create a block. The amount of Mana burned depends on recent congestion level.',
markers:
'In IOTA 2.0, a local tool that enhances efficiency in certain calculations, such as the computation of approval weight or determining the presence of specific messages in the past or future cone of another message.',
MEV: 'Maximal or Miner Extractable Value; The potential profit that miners or validators can extract from information they glean from your transaction while it waits in the mempool.',
mempool:
'Where transactions are kept in waiting before being processed and where all details of a transaction can be seen by anyone. ',
Expand Down Expand Up @@ -295,16 +280,11 @@ module.exports = {
'A node is any computer that communicates with other nodes in the network using specific software. Essentially, nodes act as connection points for data transfers. The Tangle employs various node types, including full nodes (Hornet, Bee), permanodes (Chronicle), and smart contract nodes (Wasp).',
NFT: 'Non-Fungible Token; A type of digital token that represents ownership or proof of authenticity of a unique item or asset.',
'non-validator nodes': 'Nodes in the network that are not validators.',
object:
'In IOTA 2.0, the fundamental unit of information in the IOTA protocol. Each object possesses a type, size, and data.',
oracles:
'Oracles establish a secure, decentralized bridge between digital and physical realms. They introduce off-chain data to decentralized applications and smart contracts within the network.',
orphan:
'A transaction (or block) lacking references from any subsequent transaction (or block). Orphans are unconfirmed and remain excluded from consensus.',
'orphaned block': 'A block that is not accepted becomes orphaned.',
OTV: "On Tangle Voting; In IOTA 2.0, known as the multiverse consensus articulated by Hans Moog. It's a novel consensus mechanism allowing nodes to vote on conflicts by publishing a message to the tangle.",
otvfpcs:
'In IOTA 2.0, On Tangle Voting with FPCS (Fast Probabilistic Consensus on a Set) is a method designed to resolve metastability. In IOTA 2.0, achieving high approval weight signals finality. If this weight is sufficiently high, the message/transaction is confirmed. With OTVFPC, OTV forms the initial opinion. If node opinions remain divided over time, FPC initiates to resolve this metastable state, expediting transaction finality.',
outbox:
'A buffer where soon-to-be-scheduled blocks are enqueued before they are gossiped to the network.',
output:
Expand All @@ -313,8 +293,6 @@ module.exports = {
'A network where all nodes have equal roles and perform the same actions, running on top of another network like the internet.',
'parallel processing':
'The parallel validation of transactions without requiring total ordering. Processing can be done on multiple cores at the same time.',
'parallel reality ledger state':
'In IOTA 2.0, a state to monitor tangle conflicts. Two conflicting but causally valid ledger entries (e.g., Double Spend) are placed into separate "realities". These represent potential but exclusive future ledger states. The consensus mechanism, aided by FPC, operates until most nodes" perceptions align, leading to the acceptance of one true ledger state.',
'parallel write access':
'The ability for multiple participants to simultaneously write to the Tangle in the IOTA 2.0 protocol.',
'parasite chain attacks':
Expand Down Expand Up @@ -401,8 +379,6 @@ module.exports = {
'Solidification time is when a node has received the entire history of a transaction.',
solidifier:
'Ensures blocks are consistently linked to past blocks, creating solidity and preventing missing information when tracing back in time.',
solidity:
'In IOTA 2.0, a message is marked as solid if its entire past cone up to the Genesis (or the latest snapshot) is known.',
'soul-bound token':
'Non-transferable tokens representing traits/features/achievements of a person/entity.',
'splitting attacks':
Expand Down Expand Up @@ -490,12 +466,8 @@ module.exports = {
'The process of registering as a validator by issuing a block with a special payload type. The registration is only considered successful when the registration block and the mutating transaction get accepted',
'value extraction':
'The act of taking or deriving value from a system or network without contributing to its growth or sustainability.',
'value layer':
'In IOTA 2.0, the Value layer builds on the Communication layer. It works exclusively with payloads of type Value object. This layer has several responsibilities: forming the ledger state, processing, validating and outputting transactions, conflict detection, conflict resolution via FPC, forming a DAG from value objects, tip selection (on value object tips).',
'value transactions':
'Value transactions either withdraw tokens from an address or deposit them to an address. Nodes verify these transactions to ensure that the sender owns the Shimmer tokens and that additional tokens are not generated. To do this, the following checks are performed: All Shimmer tokens withdrawn from an address are also deposited into one or more other addresses; the value of each transaction does not exceed the total global supply; signatures are valid.',
'version number':
'In IOTA 2.0, the version number indicates the correct format of each type.',
VM: 'Virtual Machine; A component responsible for executing transactions within the ledger.',
'volume and velocity':
'The capacity to handle a large number of transactions quickly, with fast confirmation times.',
Expand Down
2 changes: 1 addition & 1 deletion docs/build/apis/sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ function resolveSidebarPaths(category) {
}

function generateDirectoryPath(basePath, label) {
const directoryName = label.toLowerCase().replaceAll(/s+/g, '-');
const directoryName = label.toLowerCase().replaceAll(/\s+/g, '-');
const directoryPath = path.join(__dirname, basePath, directoryName);
return directoryPath;
}
Expand Down
6 changes: 6 additions & 0 deletions docs/build/getting-started/networks-endpoints.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,12 @@ have more control and to not run into any limits.
[The IOTA Mainnet](https://explorer.iota.org/mainnet) is the production network within the IOTA ecosystem using the IOTA
token.

:::info

This network runs under a [Coordinator PoA scheme](/learn/protocols/coordinator/) with validators operated by [Akkodis](https://www.akkodis.com), [ETO GRUPPE](https://www.etogruppe.com/), [Software AG](https://softwareag.com/), [University of Zurich](https://www.uzh.ch/cmsssl/en.html), [Imperial College London](https://www.imperial.ac.uk) and the IOTA Foundation.

:::

| Base Token | Protocol | HTTP REST API | Event API | Permanode API |
| ---------- | -------- | ------------------------------------------- | --------------------------------------------------------------- | ------------------------------------------------- |
| IOTA Token | Stardust | https://api.stardust-mainnet.iotaledger.net | wss://api.stardust-mainnet.iotaledger.net:443 (MQTT 3.1, /mqtt) | https://chronicle.stardust-mainnet.iotaledger.net |
Expand Down
4 changes: 2 additions & 2 deletions docs/build/getting-started/welcome.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@ tokens and NFTs, and more.

### Identity

You can use the [IOTA Identity Framework](/identity.rs/introduction) to create and manage
[Self-Sovereign Identities (SSI)](/identity.rs/decentralized_identity) for people, organizations, or
You can use the [IOTA Identity Framework](/identity.rs/welcome) to create and manage
[Self-Sovereign Identities (SSI)](/identity.rs/explanations/decentralized-identifiers) for people, organizations, or
any object in a GDPR-compliant, cost-efficient, and privacy-enabling manner.

## Layer 2
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ keywords:

> This is the beta version of the official WASM bindings for [IOTA Identity](https://github.com/iotaledger/identity.rs).
## [API Reference](/identity.rs/libraries/wasm/api_reference)
## [API Reference](./api_reference.mdx)

## [Account Examples](https://github.com/iotaledger/identity.rs/blob/support/v0.6/bindings/wasm/examples-account/README.md)

Expand Down
Loading

0 comments on commit 9166a92

Please sign in to comment.