diff --git a/docs/learn/encyclopedia/contract-development/rust-dialect.mdx b/docs/learn/encyclopedia/contract-development/rust-dialect.mdx index de714f8ae..220fb3509 100644 --- a/docs/learn/encyclopedia/contract-development/rust-dialect.mdx +++ b/docs/learn/encyclopedia/contract-development/rust-dialect.mdx @@ -73,11 +73,6 @@ This is not a hard restriction enforced by the host, but a soft configuration ma Host objects have significantly different semantics than typical Rust data structures, especially those implementing _collections_ such as maps and vectors. -In particular: host objects are **immutable**, and any "modification" to a host object returns a **full new copy** of the object, leaving the initial one unchanged. -For the most part this distinction is hidden through wrappers in the SDK, such that objects like `Map` or `Vec` appear to the contract programmer to be uniquely owned mutable values similar to Rust's standard library types, -but the underlying host objects are immutable, so have different performance characteristics. Specifically: cloning such an object is O(1), whereas any modification is O(N). -Since most host objects are typically very small, the O(N) cost of modification is typically cheaper than any alternative implementation involving shared substructures. - -**Note**: these container types `Vec` and `Map` should _not_ be used for managing large or unbounded collections of data. -For such cases, contracts should store data in multiple separate ledger entries, each with its own unique contract-defined key. -Doing so also limits the IO cost of a contract to only the entries it accesses, and furthermore allows concurrent modification of entries with separate keys from separate transactions. \ No newline at end of file +In particular: host objects are **immutable**, and any "modification" to a host object returns a **full new copy** of the object, leaving the initial one unchanged. For the most part this distinction is hidden through wrappers in the SDK, such that objects like `Map` or `Vec` appear to the contract programmer to be uniquely owned mutable values similar to Rust's standard library types, but the underlying host objects are immutable, so have different performance characteristics. Specifically: cloning such an object is O(1), whereas any modification is O(N). Since most host objects are typically very small, the O(N) cost of modification is typically cheaper than any alternative implementation involving shared substructures. + +**Note**: these container types `Vec` and `Map` should _not_ be used for managing large or unbounded collections of data. For such cases, contracts should store data in multiple separate ledger entries, each with its own unique contract-defined key. Doing so also limits the IO cost of a contract to only the entries it accesses, and furthermore allows concurrent modification of entries with separate keys from separate transactions. diff --git a/docs/learn/encyclopedia/data-format/xdr.mdx b/docs/learn/encyclopedia/data-format/xdr.mdx index 0d7d1d526..4bc54dc08 100644 --- a/docs/learn/encyclopedia/data-format/xdr.mdx +++ b/docs/learn/encyclopedia/data-format/xdr.mdx @@ -6,8 +6,7 @@ Stellar stores and communicates ledger data, transactions, results, history, and ## .X files -Data structures in XDR are specified in `.x` files. These files _only_ contain data structure definitions, no operations or executable code. -The `.x` files for the XDR structures used on the Stellar Network are available on [GitHub](https://github.com/stellar/stellar-xdr). +Data structures in XDR are specified in `.x` files. These files _only_ contain data structure definitions, no operations or executable code. The `.x` files for the XDR structures used on the Stellar Network are available on [GitHub](https://github.com/stellar/stellar-xdr). ## JSON and XDR Conversion Schema diff --git a/docs/learn/encyclopedia/network-configuration/ledger-headers.mdx b/docs/learn/encyclopedia/network-configuration/ledger-headers.mdx index d166507d0..409aac6c8 100644 --- a/docs/learn/encyclopedia/network-configuration/ledger-headers.mdx +++ b/docs/learn/encyclopedia/network-configuration/ledger-headers.mdx @@ -3,11 +3,7 @@ title: Ledger Headers sidebar_position: 30 --- -Every ledger has a header that references the data in that ledger and the previous ledger. -These references are cryptographic hashes of the content which behave like pointers in typical data structures but with added security guarantees. -Think of a historical ledger chain as a linked list of ledger headers. -Time flows forward from left to right, hashes point backwards in time, from right to left. -Each hash in the chain links a ledger to its previous ledger, which authenticates the entire history of ledgers in its past: +Every ledger has a header that references the data in that ledger and the previous ledger. These references are cryptographic hashes of the content which behave like pointers in typical data structures but with added security guarantees. Think of a historical ledger chain as a linked list of ledger headers. Time flows forward from left to right, hashes point backwards in time, from right to left. Each hash in the chain links a ledger to its previous ledger, which authenticates the entire history of ledgers in its past: ```mermaid flowchart RL @@ -44,8 +40,7 @@ flowchart RL ``` -The genesis ledger has a sequence number of 1. The ledger directly following a ledger with sequence number `N` has a sequence number of `N+1`. -Ledger `N+1` contains a hash of ledger `N` in its previous ledger field. +The genesis ledger has a sequence number of 1. The ledger directly following a ledger with sequence number `N` has a sequence number of `N+1`. Ledger `N+1` contains a hash of ledger `N` in its previous ledger field. ## Ledger header fields @@ -115,4 +110,4 @@ The reserve the network uses when calculating an account’s minimum balance. ### Skip list -Hashes of ledgers in the past. Intended to accelerate access to past ledgers without walking back ledger by ledger. Currently unused. \ No newline at end of file +Hashes of ledgers in the past. Intended to accelerate access to past ledgers without walking back ledger by ledger. Currently unused. diff --git a/docs/tools/developer-tools/ai-bot.mdx b/docs/tools/developer-tools/ai-bot.mdx index 601ada254..100907df6 100644 --- a/docs/tools/developer-tools/ai-bot.mdx +++ b/docs/tools/developer-tools/ai-bot.mdx @@ -12,4 +12,4 @@ Stella is an AI assistant bot created by SDF to help developers and general user - Development resources: Documentation, SDKs, and tools for building on Stellar - Technical concepts: Blockchain fundamentals, consensus mechanisms, and more -Stella is available in the Stellar Developer Discord. To access Stella, you must agree to the disclaimer first in [#stella-disclaimer](https://discord.com/channels/897514728459468821/1265827552375738369/1266084686053249094) and visit Stella bot in [#stella-help](https://discord.gg/CK36xY2C). Prompt Stella with, "Stella, ....". +Stella is available in the Stellar Developer Discord. To access Stella, you must agree to the disclaimer first in [#stella-disclaimer](https://discord.com/channels/897514728459468821/1265827552375738369/1266084686053249094) and visit Stella bot in [#stella-help](https://discord.gg/stellardev). Prompt Stella with, "Stella, ....". diff --git a/docusaurus.config.ts b/docusaurus.config.ts index 76b1b968b..c2941dd49 100644 --- a/docusaurus.config.ts +++ b/docusaurus.config.ts @@ -308,7 +308,7 @@ const config: Config = { items: [ { label: "Developer Discord", - href: "https://discord.gg/st7Mxd58BV", + href: "https://discord.gg/stellardev", }, { label: "Developer Google Group", diff --git a/src/components/Homepage/DeveloperResources/index.tsx b/src/components/Homepage/DeveloperResources/index.tsx index b32d8b312..04e20bc30 100644 --- a/src/components/Homepage/DeveloperResources/index.tsx +++ b/src/components/Homepage/DeveloperResources/index.tsx @@ -19,7 +19,7 @@ const DeveloperResourcesBoxes: DeveloperResourcesItem[] = [ Ask questions and engage with other Stellar devs. ), - link: exploreLink('https://discord.gg/st7Mxd58BV'), + link: exploreLink('https://discord.gg/stellardev'), }, { title: translate({