Update documentation

This commit is contained in:
2022-10-28 20:09:33 +00:00
parent aff7c29a6d
commit 674fbfe4b8
40 changed files with 267 additions and 244 deletions

View File

@ -96,13 +96,13 @@
<script>
const BASE_URL = "https://roadmap.logos.co/"
const fetchData = Promise.all([
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.c7d1dff2779fb783b87718939eb938dc.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.efdce789f52a414aac99217faaa05fac.min.json")
.then(data => data.json())
.then(data => ({
index: data.index,
links: data.links,
})),
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.501faefcb067cd17893de489cc1bb0f0.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.1ab8ea537a9a1daf324436722fac4853.min.json")
.then(data => data.json()),
])
.then(([{index, links}, content]) => ({

View File

@ -96,13 +96,13 @@
<script>
const BASE_URL = "https://roadmap.logos.co/"
const fetchData = Promise.all([
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.c7d1dff2779fb783b87718939eb938dc.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.efdce789f52a414aac99217faaa05fac.min.json")
.then(data => data.json())
.then(data => ({
index: data.index,
links: data.links,
})),
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.501faefcb067cd17893de489cc1bb0f0.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.1ab8ea537a9a1daf324436722fac4853.min.json")
.then(data => data.json()),
])
.then(([{index, links}, content]) => ({
@ -251,27 +251,7 @@ if (!doNotTrack) {
<div class="section">
<p class="meta">
Oct 26, 2022
</p>
<div class="desc">
<h3><a href="https://roadmap.logos.co/roadmap/consensus/candidates/logos-bft/FAQ/" class="internal-link" data-src="/roadmap/consensus/candidates/logos-bft/FAQ/">Frequently Asked Questions</a></h3>
</div>
<div class="spacer"></div>
<ul class="tags">
<li><a href="https://roadmap.logos.co/tags/LogosBFT/">LogosBFT</a></li>
<li><a href="https://roadmap.logos.co/tags/consensus/">Consensus</a></li>
</ul>
</div>
</li><li class="section-li">
<div class="section">
<p class="meta">
Oct 26, 2022
Oct 28, 2022
</p>
@ -293,6 +273,26 @@ Oct 26, 2022
<div class="section">
<p class="meta">
Oct 28, 2022
</p>
<div class="desc">
<h3><a href="https://roadmap.logos.co/roadmap/consensus/candidates/logos-bft/FAQ/" class="internal-link" data-src="/roadmap/consensus/candidates/logos-bft/FAQ/">Frequently Asked Questions</a></h3>
</div>
<div class="spacer"></div>
<ul class="tags">
<li><a href="https://roadmap.logos.co/tags/LogosBFT/">LogosBFT</a></li>
<li><a href="https://roadmap.logos.co/tags/consensus/">Consensus</a></li>
</ul>
</div>
</li><li class="section-li">
<div class="section">
<p class="meta">
Aug 19, 2022
@ -491,7 +491,7 @@ Aug 19, 2022
<div class="section">
<p class="meta">
Oct 26, 2022
Oct 28, 2022
</p>
@ -644,27 +644,7 @@ Oct 26, 2022
<div class="section">
<p class="meta">
Oct 26, 2022
</p>
<div class="desc">
<h3><a href="https://roadmap.logos.co/roadmap/consensus/candidates/logos-bft/FAQ/" class="internal-link" data-src="/roadmap/consensus/candidates/logos-bft/FAQ/">Frequently Asked Questions</a></h3>
</div>
<div class="spacer"></div>
<ul class="tags">
<li><a href="https://roadmap.logos.co/tags/LogosBFT/">LogosBFT</a></li>
<li><a href="https://roadmap.logos.co/tags/consensus/">Consensus</a></li>
</ul>
</div>
</li><li class="section-li">
<div class="section">
<p class="meta">
Oct 26, 2022
Oct 28, 2022
</p>
@ -680,6 +660,26 @@ Oct 26, 2022
<li><a href="https://roadmap.logos.co/tags/LogosBFT/">LogosBFT</a></li>
</ul>
</div>
</li><li class="section-li">
<div class="section">
<p class="meta">
Oct 28, 2022
</p>
<div class="desc">
<h3><a href="https://roadmap.logos.co/roadmap/consensus/candidates/logos-bft/FAQ/" class="internal-link" data-src="/roadmap/consensus/candidates/logos-bft/FAQ/">Frequently Asked Questions</a></h3>
</div>
<div class="spacer"></div>
<ul class="tags">
<li><a href="https://roadmap.logos.co/tags/LogosBFT/">LogosBFT</a></li>
<li><a href="https://roadmap.logos.co/tags/consensus/">Consensus</a></li>
</ul>
</div>
</li></ul>

View File

@ -97,13 +97,13 @@
<script>
const BASE_URL = "https://roadmap.logos.co/"
const fetchData = Promise.all([
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.c7d1dff2779fb783b87718939eb938dc.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.efdce789f52a414aac99217faaa05fac.min.json")
.then(data => data.json())
.then(data => ({
index: data.index,
links: data.links,
})),
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.501faefcb067cd17893de489cc1bb0f0.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.1ab8ea537a9a1daf324436722fac4853.min.json")
.then(data => data.json()),
])
.then(([{index, links}, content]) => ({

View File

@ -76,7 +76,7 @@ Required Roles Lead Developer (filled) </description>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://roadmap.logos.co/roadmap/consensus/candidates/logos-bft/overview/</guid>
<description>Logos BFT is a consensus candidate for the Logos Network that utilizes Network Coding and Committees to optimize message propagation in the presence of a large number of nodes, while maintaining a high level of security.</description>
<description>Logos BFT is a consensus candidate for the Logos Network that utilizes Fountain Codes and a committees tree structure to optimize message propagation in the presence of a large number of nodes, while maintaining high througput and fast finality.</description>
</item>
<item>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

34
linkmap
View File

@ -1,29 +1,29 @@
/roadmap/consensus/development/overview/index.{html} /roadmap/consensus/development/overview/
/roadmap/virtual-machines/overview/index.{html} /roadmap/virtual-machines/overview/
/roadmap/consensus/development/prototypes/index.{html} /roadmap/consensus/development/prototypes/
/roadmap/consensus/candidates/logos-bft/overview/index.{html} /roadmap/consensus/candidates/logos-bft/overview/
/roles/distributed-systems-researcher/index.{html} /roles/distributed-systems-researcher/
/private/notes/CJK-+-Latex-Support-%E6%B5%8B%E8%AF%95/index.{html} /private/notes/CJK-+-Latex-Support-%E6%B5%8B%E8%AF%95/
/private/notes/updating/index.{html} /private/notes/updating/
/private/notes/ignore-notes/index.{html} /private/notes/ignore-notes/
/private/notes/callouts/index.{html} /private/notes/callouts/
/private/notes/troubleshooting/index.{html} /private/notes/troubleshooting/
/roadmap/consensus/candidates/glacier/index.{html} /roadmap/consensus/candidates/glacier/
/roadmap/consensus/candidates/logos-bft/FAQ/index.{html} /roadmap/consensus/candidates/logos-bft/FAQ/
/roadmap/consensus/development/prototypes/index.{html} /roadmap/consensus/development/prototypes/
/roadmap/consensus/overview/index.{html} /roadmap/consensus/overview/
/roadmap/consensus/theory/snow-family/index.{html} /roadmap/consensus/theory/snow-family/
/roadmap/virtual-machines/overview/index.{html} /roadmap/virtual-machines/overview/
/index.html /
/private/notes/hosting/index.{html} /private/notes/hosting/
/private/notes/search/index.{html} /private/notes/search/
/private/notes/CJK-+-Latex-Support-%E6%B5%8B%E8%AF%95/index.{html} /private/notes/CJK-+-Latex-Support-%E6%B5%8B%E8%AF%95/
/private/notes/showcase/index.{html} /private/notes/showcase/
/private/notes/preview-changes/index.{html} /private/notes/preview-changes/
/private/notes/setup/index.{html} /private/notes/setup/
/roadmap/consensus/theory/overview/index.{html} /roadmap/consensus/theory/overview/
/roles/zero-knowledge-research-engineer/index.{html} /roles/zero-knowledge-research-engineer/
/private/notes/custom-Domain/index.{html} /private/notes/custom-Domain/
/requirements/overview/index.{html} /requirements/overview/
/private/notes/troubleshooting/index.{html} /private/notes/troubleshooting/
/roles/rust-developer/index.{html} /roles/rust-developer/
/private/notes/callouts/index.{html} /private/notes/callouts/
/roles/zero-knowledge-research-engineer/index.{html} /roles/zero-knowledge-research-engineer/
/private/notes/config/index.{html} /private/notes/config/
/private/notes/philosophy/index.{html} /private/notes/philosophy/
/private/notes/preview-changes/index.{html} /private/notes/preview-changes/
/private/notes/showcase/index.{html} /private/notes/showcase/
/roadmap/consensus/candidates/logos-bft/overview/index.{html} /roadmap/consensus/candidates/logos-bft/overview/
/private/notes/editing/index.{html} /private/notes/editing/
/private/notes/philosophy/index.{html} /private/notes/philosophy/
/roadmap/consensus/overview/index.{html} /roadmap/consensus/overview/
/private/notes/custom-Domain/index.{html} /private/notes/custom-Domain/
/private/notes/ignore-notes/index.{html} /private/notes/ignore-notes/
/private/notes/obsidian/index.{html} /private/notes/obsidian/
/requirements/overview/index.{html} /requirements/overview/
/private/notes/hosting/index.{html} /private/notes/hosting/
/private/notes/search/index.{html} /private/notes/search/
/private/notes/updating/index.{html} /private/notes/updating/

View File

@ -96,13 +96,13 @@
<script>
const BASE_URL = "https://roadmap.logos.co/"
const fetchData = Promise.all([
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.c7d1dff2779fb783b87718939eb938dc.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.efdce789f52a414aac99217faaa05fac.min.json")
.then(data => data.json())
.then(data => ({
index: data.index,
links: data.links,
})),
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.501faefcb067cd17893de489cc1bb0f0.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.1ab8ea537a9a1daf324436722fac4853.min.json")
.then(data => data.json()),
])
.then(([{index, links}, content]) => ({

View File

@ -97,13 +97,13 @@
<script>
const BASE_URL = "https://roadmap.logos.co/"
const fetchData = Promise.all([
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.c7d1dff2779fb783b87718939eb938dc.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.efdce789f52a414aac99217faaa05fac.min.json")
.then(data => data.json())
.then(data => ({
index: data.index,
links: data.links,
})),
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.501faefcb067cd17893de489cc1bb0f0.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.1ab8ea537a9a1daf324436722fac4853.min.json")
.then(data => data.json()),
])
.then(([{index, links}, content]) => ({

View File

@ -96,13 +96,13 @@
<script>
const BASE_URL = "https://roadmap.logos.co/"
const fetchData = Promise.all([
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.c7d1dff2779fb783b87718939eb938dc.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.efdce789f52a414aac99217faaa05fac.min.json")
.then(data => data.json())
.then(data => ({
index: data.index,
links: data.links,
})),
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.501faefcb067cd17893de489cc1bb0f0.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.1ab8ea537a9a1daf324436722fac4853.min.json")
.then(data => data.json()),
])
.then(([{index, links}, content]) => ({

View File

@ -96,13 +96,13 @@
<script>
const BASE_URL = "https://roadmap.logos.co/"
const fetchData = Promise.all([
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.c7d1dff2779fb783b87718939eb938dc.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.efdce789f52a414aac99217faaa05fac.min.json")
.then(data => data.json())
.then(data => ({
index: data.index,
links: data.links,
})),
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.501faefcb067cd17893de489cc1bb0f0.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.1ab8ea537a9a1daf324436722fac4853.min.json")
.then(data => data.json()),
])
.then(([{index, links}, content]) => ({
@ -241,7 +241,7 @@ if (!doNotTrack) {
<h1>Frequently Asked Questions</h1>
<p class="meta">
Last updated
Oct 26, 2022
Oct 28, 2022
@ -409,7 +409,7 @@ Oct 26, 2022
<a href="#network-scale"><h2 id="network-scale"><span class="hanchor" ariaLabel="Anchor"># </span>Network Scale</h2></a>
<a href="#what-is-our-expected-minimum-number-of-nodes-within-the-network---dmitriy"><h3 id="what-is-our-expected-minimum-number-of-nodes-within-the-network---dmitriy"><span class="hanchor" ariaLabel="Anchor"># </span>What is our expected minimum number of nodes within the network? - Dmitriy</h3></a>
<blockquote>
<p>For a small number of nodes we can have just a single committee. But I am not sure how many nodes will join our network</p>
<p><code>Moh:</code> For a small number of nodes we can have just a single committee. But I am not sure how many nodes will join our network</p>
</blockquote>
<a href="#byzantine-behavior"><h2 id="byzantine-behavior"><span class="hanchor" ariaLabel="Anchor"># </span>Byzantine Behavior</h2></a>
<a href="#can-we-also-consider-a-flavor-that-adds-attestationattribution-to-misbehaving-nodes-that-will-come-at-a-price-but-there-might-be-a-set-of-use-cases-which-would-like-to-have-lower-performance-with-strong-attribution-not-saying-that-it-must-be-part-of-the-initial-design-but-can-be-think-throughadded-later---marcin"><h3 id="can-we-also-consider-a-flavor-that-adds-attestationattribution-to-misbehaving-nodes-that-will-come-at-a-price-but-there-might-be-a-set-of-use-cases-which-would-like-to-have-lower-performance-with-strong-attribution-not-saying-that-it-must-be-part-of-the-initial-design-but-can-be-think-throughadded-later---marcin"><span class="hanchor" ariaLabel="Anchor"># </span>Can we also consider a flavor that adds attestation/attribution to misbehaving nodes? That will come at a price but there might be a set of use cases which would like to have lower performance with strong attribution. Not saying that it must be part of the initial design, but can be think-through/added later. - Marcin</h3></a>

View File

@ -5,7 +5,7 @@
<meta charset="UTF-8" />
<meta
name="description"
content="Logos BFT is a consensus candidate for the Logos Network that utilizes Network Coding and Committees to optimize message propagation in the presence of a large number of nodes, while maintaining a high level of security."
content="Logos BFT is a consensus candidate for the Logos Network that utilizes Fountain Codes and a committees tree structure to optimize message propagation in the presence of a large number of nodes, while maintaining high througput and fast finality."
/>
<title>
Logos BFT Overview
@ -96,13 +96,13 @@
<script>
const BASE_URL = "https://roadmap.logos.co/"
const fetchData = Promise.all([
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.c7d1dff2779fb783b87718939eb938dc.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.efdce789f52a414aac99217faaa05fac.min.json")
.then(data => data.json())
.then(data => ({
index: data.index,
links: data.links,
})),
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.501faefcb067cd17893de489cc1bb0f0.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.1ab8ea537a9a1daf324436722fac4853.min.json")
.then(data => data.json()),
])
.then(([{index, links}, content]) => ({
@ -241,7 +241,7 @@ if (!doNotTrack) {
<h1>Logos BFT Overview</h1>
<p class="meta">
Last updated
Oct 26, 2022
Oct 28, 2022
@ -259,6 +259,24 @@ Oct 26, 2022
</ul>
<aside class="mainTOC">
<details >
<summary>Table of Contents</summary>
<nav id="TableOfContents">
<ol>
<li><a href="#work-streams">Work Streams</a>
<ol>
<li><a href="#current-state-of-the-art">Current State of the Art</a></li>
<li><a href="#committee-overlay-structure">Committee Overlay Structure</a></li>
<li><a href="#random-beacon">Random Beacon</a></li>
<li><a href="#erasure-coding-lt-codes--fountain-codes--raptor-codes">Erasure Coding (LT Codes / Fountain Codes / Raptor Codes)</a></li>
</ol>
</li>
</ol>
</nav>
</details>
</aside>
@ -301,18 +319,7 @@ Oct 26, 2022
<a
rel="noopener" class="internal-link broken"
data-src="/consensus/index">consensus</a> candidate for the Logos Network that utilizes
<a href="https://en.wikipedia.org/wiki/Linear_network_coding" rel="noopener">Network Coding</a> and
<a
rel="noopener" class="internal-link broken"
data-src="#">Committees</a> to optimize message propagation in the presence of a large number of nodes, while maintaining a high level of security.</p>
data-src="/consensus/index">consensus</a> candidate for the Logos Network that utilizes Fountain Codes and a committees tree structure to optimize message propagation in the presence of a large number of nodes, while maintaining high througput and fast finality.</p>
<ul>
<li>
@ -326,17 +333,42 @@ Oct 26, 2022
data-src="/roadmap/consensus/candidates/logos-bft/FAQ/">FAQ</a>: Here is a page that tracks various questions people have around LogosBFT.</li>
</ul>
<a href="#work-streams"><h2 id="work-streams"><span class="hanchor" ariaLabel="Anchor"># </span>Work Streams</h2></a>
<a href="#current-state-of-the-art"><h3 id="current-state-of-the-art"><span class="hanchor" ariaLabel="Anchor"># </span>Current State of the Art</h3></a>
<p>An ongoing survey of the current state of the art around Consensus Mechanisms and their peripheral dependencies is beign conducted by Tuanir, and can be found in the following WIP Overleaf document:</p>
<ul>
<li>
<a href="https://www.overleaf.com/project/633acc1acaa6ffe456d1ab1f" rel="noopener">WIP Consensus SoK</a></li>
</ul>
<a href="#committee-overlay-structure"><h3 id="committee-overlay-structure"><span class="hanchor" ariaLabel="Anchor"># </span>Committee Overlay Structure</h3></a>
<p>The basis of LogosBFT is dependent upon establishing an committee overlay tree structure for message distribution.</p>
<p>An overview video can be found in the following link:</p>
<ul>
<li>
<a href="https://drive.google.com/file/d/17L0JPgC0L1ejbjga7_6ZitBfHUe3VO11/view?usp=sharing" rel="noopener">LogosBFT Overview by Moh during Offsite</a></li>
</ul>
<p>The details of this are being worked on by Moh and Alexander and can be found in the following overleaf documents:</p>
<ul>
<li>
<a href="https://www.overleaf.com/project/6341fb4a3cf4f20f158afad3" rel="noopener">Moh&rsquo;s newer draft</a></li>
<li>
<a href="https://www.overleaf.com/read/rhtnjxtjqnhp" rel="noopener">Moh&rsquo;s original draft</a></li>
<li>
<a
rel="noopener" class="internal-link broken"
data-src="committee-formation">Committee Formation</a></li>
<a href="https://www.overleaf.com/project/630c7e20e56998385e7d8416" rel="noopener">Alexander&rsquo;s notes on the statistical properties of committees</a></li>
</ul>
<a href="#random-beacon"><h3 id="random-beacon"><span class="hanchor" ariaLabel="Anchor"># </span>Random Beacon</h3></a>
<p>A random beacon is required to choose a leader and establish a seed for defining the overlay tree. Marcin is working on the various avenues. His previous presentations can be found in the following presentation slides:</p>
<ul>
<li>
<a href="https://cloud.logos.co/index.php/s/b39EmQrZRt5rrfL" rel="noopener">Intro to Multiparty Random Beacons</a></li>
<li>
<a href="https://cloud.logos.co/index.php/s/NXJZX8X8pHg6akw" rel="noopener">Circles of Trust</a></li>
<li>
@ -344,29 +376,18 @@ Oct 26, 2022
<a
rel="noopener" class="internal-link broken"
data-src="random-beacon">Random Beacon</a></li>
href="/"
rel="noopener" class="internal-link"
data-src="/">Compact Certificates of Knowledge</a> - To be linked</li>
</ul>
<a href="#erasure-coding-lt-codes--fountain-codes--raptor-codes"><h3 id="erasure-coding-lt-codes--fountain-codes--raptor-codes"><span class="hanchor" ariaLabel="Anchor"># </span>Erasure Coding (LT Codes / Fountain Codes / Raptor Codes)</h3></a>
<p>In order to reduce message complexity during propagation, we are investigating the use of Luby Transform (LT) codes, more specifically
<a href="https://en.wikipedia.org/wiki/Fountain_code" rel="noopener">Fountain Codes</a>, to break up the block to be propagated to validators and recombined by local peers within a committee.</p>
<ul>
<li>
<a
rel="noopener" class="internal-link broken"
data-src="message-dissemination">Message Dissemination</a></li>
<li>
<a
rel="noopener" class="internal-link broken"
data-src="leader-election">Leader Election</a></li>
<a href="https://github.com/chrido/fountain" rel="noopener">LT Code implementation in Rust</a> - unclear about legal status of LT or Raptor Codes, it is currently under investigation.</li>
</ul>

View File

@ -96,13 +96,13 @@
<script>
const BASE_URL = "https://roadmap.logos.co/"
const fetchData = Promise.all([
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.c7d1dff2779fb783b87718939eb938dc.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.efdce789f52a414aac99217faaa05fac.min.json")
.then(data => data.json())
.then(data => ({
index: data.index,
links: data.links,
})),
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.501faefcb067cd17893de489cc1bb0f0.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.1ab8ea537a9a1daf324436722fac4853.min.json")
.then(data => data.json()),
])
.then(([{index, links}, content]) => ({

View File

@ -97,13 +97,13 @@ Required Roles Lead Developer (filled) "
<script>
const BASE_URL = "https://roadmap.logos.co/"
const fetchData = Promise.all([
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.c7d1dff2779fb783b87718939eb938dc.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.efdce789f52a414aac99217faaa05fac.min.json")
.then(data => data.json())
.then(data => ({
index: data.index,
links: data.links,
})),
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.501faefcb067cd17893de489cc1bb0f0.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.1ab8ea537a9a1daf324436722fac4853.min.json")
.then(data => data.json()),
])
.then(([{index, links}, content]) => ({

View File

@ -96,13 +96,13 @@
<script>
const BASE_URL = "https://roadmap.logos.co/"
const fetchData = Promise.all([
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.c7d1dff2779fb783b87718939eb938dc.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.efdce789f52a414aac99217faaa05fac.min.json")
.then(data => data.json())
.then(data => ({
index: data.index,
links: data.links,
})),
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.501faefcb067cd17893de489cc1bb0f0.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.1ab8ea537a9a1daf324436722fac4853.min.json")
.then(data => data.json()),
])
.then(([{index, links}, content]) => ({

View File

@ -96,13 +96,13 @@
<script>
const BASE_URL = "https://roadmap.logos.co/"
const fetchData = Promise.all([
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.c7d1dff2779fb783b87718939eb938dc.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.efdce789f52a414aac99217faaa05fac.min.json")
.then(data => data.json())
.then(data => ({
index: data.index,
links: data.links,
})),
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.501faefcb067cd17893de489cc1bb0f0.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.1ab8ea537a9a1daf324436722fac4853.min.json")
.then(data => data.json()),
])
.then(([{index, links}, content]) => ({

View File

@ -96,13 +96,13 @@
<script>
const BASE_URL = "https://roadmap.logos.co/"
const fetchData = Promise.all([
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.c7d1dff2779fb783b87718939eb938dc.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.efdce789f52a414aac99217faaa05fac.min.json")
.then(data => data.json())
.then(data => ({
index: data.index,
links: data.links,
})),
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.501faefcb067cd17893de489cc1bb0f0.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.1ab8ea537a9a1daf324436722fac4853.min.json")
.then(data => data.json()),
])
.then(([{index, links}, content]) => ({

View File

@ -96,13 +96,13 @@
<script>
const BASE_URL = "https://roadmap.logos.co/"
const fetchData = Promise.all([
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.c7d1dff2779fb783b87718939eb938dc.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.efdce789f52a414aac99217faaa05fac.min.json")
.then(data => data.json())
.then(data => ({
index: data.index,
links: data.links,
})),
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.501faefcb067cd17893de489cc1bb0f0.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.1ab8ea537a9a1daf324436722fac4853.min.json")
.then(data => data.json()),
])
.then(([{index, links}, content]) => ({
@ -244,27 +244,7 @@ if (!doNotTrack) {
<div class="section">
<p class="meta">
Oct 26, 2022
</p>
<div class="desc">
<h3><a href="https://roadmap.logos.co/roadmap/consensus/candidates/logos-bft/FAQ/" class="internal-link" data-src="/roadmap/consensus/candidates/logos-bft/FAQ/">Frequently Asked Questions</a></h3>
</div>
<div class="spacer"></div>
<ul class="tags">
<li><a href="https://roadmap.logos.co/tags/LogosBFT/">LogosBFT</a></li>
<li><a href="https://roadmap.logos.co/tags/consensus/">Consensus</a></li>
</ul>
</div>
</li><li class="section-li">
<div class="section">
<p class="meta">
Oct 26, 2022
Oct 28, 2022
</p>
@ -286,6 +266,26 @@ Oct 26, 2022
<div class="section">
<p class="meta">
Oct 28, 2022
</p>
<div class="desc">
<h3><a href="https://roadmap.logos.co/roadmap/consensus/candidates/logos-bft/FAQ/" class="internal-link" data-src="/roadmap/consensus/candidates/logos-bft/FAQ/">Frequently Asked Questions</a></h3>
</div>
<div class="spacer"></div>
<ul class="tags">
<li><a href="https://roadmap.logos.co/tags/LogosBFT/">LogosBFT</a></li>
<li><a href="https://roadmap.logos.co/tags/consensus/">Consensus</a></li>
</ul>
</div>
</li><li class="section-li">
<div class="section">
<p class="meta">
Oct 26, 2022

View File

@ -76,7 +76,7 @@ Required Roles Lead Developer (filled) </description>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://roadmap.logos.co/roadmap/consensus/candidates/logos-bft/overview/</guid>
<description>Logos BFT is a consensus candidate for the Logos Network that utilizes Network Coding and Committees to optimize message propagation in the presence of a large number of nodes, while maintaining a high level of security.</description>
<description>Logos BFT is a consensus candidate for the Logos Network that utilizes Fountain Codes and a committees tree structure to optimize message propagation in the presence of a large number of nodes, while maintaining high througput and fast finality.</description>
</item>
<item>

View File

@ -96,13 +96,13 @@
<script>
const BASE_URL = "https://roadmap.logos.co/"
const fetchData = Promise.all([
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.c7d1dff2779fb783b87718939eb938dc.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.efdce789f52a414aac99217faaa05fac.min.json")
.then(data => data.json())
.then(data => ({
index: data.index,
links: data.links,
})),
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.501faefcb067cd17893de489cc1bb0f0.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.1ab8ea537a9a1daf324436722fac4853.min.json")
.then(data => data.json()),
])
.then(([{index, links}, content]) => ({

View File

@ -97,13 +97,13 @@ With the high level goals of preserving the right to privacy, mitigating the ris
<script>
const BASE_URL = "https://roadmap.logos.co/"
const fetchData = Promise.all([
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.c7d1dff2779fb783b87718939eb938dc.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.efdce789f52a414aac99217faaa05fac.min.json")
.then(data => data.json())
.then(data => ({
index: data.index,
links: data.links,
})),
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.501faefcb067cd17893de489cc1bb0f0.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.1ab8ea537a9a1daf324436722fac4853.min.json")
.then(data => data.json()),
])
.then(([{index, links}, content]) => ({

View File

@ -96,13 +96,13 @@
<script>
const BASE_URL = "https://roadmap.logos.co/"
const fetchData = Promise.all([
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.c7d1dff2779fb783b87718939eb938dc.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.efdce789f52a414aac99217faaa05fac.min.json")
.then(data => data.json())
.then(data => ({
index: data.index,
links: data.links,
})),
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.501faefcb067cd17893de489cc1bb0f0.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.1ab8ea537a9a1daf324436722fac4853.min.json")
.then(data => data.json()),
])
.then(([{index, links}, content]) => ({

View File

@ -99,13 +99,13 @@ Status is an organization building the tools and infrastructure for the advancem
<script>
const BASE_URL = "https://roadmap.logos.co/"
const fetchData = Promise.all([
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.c7d1dff2779fb783b87718939eb938dc.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.efdce789f52a414aac99217faaa05fac.min.json")
.then(data => data.json())
.then(data => ({
index: data.index,
links: data.links,
})),
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.501faefcb067cd17893de489cc1bb0f0.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.1ab8ea537a9a1daf324436722fac4853.min.json")
.then(data => data.json()),
])
.then(([{index, links}, content]) => ({

View File

@ -99,13 +99,13 @@ Status is building the tools and infrastructure for the advancement of a secure,
<script>
const BASE_URL = "https://roadmap.logos.co/"
const fetchData = Promise.all([
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.c7d1dff2779fb783b87718939eb938dc.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.efdce789f52a414aac99217faaa05fac.min.json")
.then(data => data.json())
.then(data => ({
index: data.index,
links: data.links,
})),
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.501faefcb067cd17893de489cc1bb0f0.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.1ab8ea537a9a1daf324436722fac4853.min.json")
.then(data => data.json()),
])
.then(([{index, links}, content]) => ({

View File

@ -6,12 +6,12 @@
<lastmod>2022-10-26T16:15:35-04:00</lastmod>
</url><url>
<loc>https://roadmap.logos.co/tags/candidate/</loc>
<lastmod>2022-10-26T16:15:35-04:00</lastmod>
<lastmod>2022-10-28T16:08:43-04:00</lastmod>
</url><url>
<loc>https://roadmap.logos.co/categories/</loc>
</url><url>
<loc>https://roadmap.logos.co/tags/consensus/</loc>
<lastmod>2022-10-26T16:37:37-04:00</lastmod>
<lastmod>2022-10-28T16:08:43-04:00</lastmod>
</url><url>
<loc>https://roadmap.logos.co/roadmap/consensus/development/prototypes/</loc>
<lastmod>2022-08-19T15:10:38-04:00</lastmod>
@ -32,13 +32,13 @@
<lastmod>2022-10-26T16:15:35-04:00</lastmod>
</url><url>
<loc>https://roadmap.logos.co/roadmap/consensus/candidates/logos-bft/FAQ/</loc>
<lastmod>2022-10-26T16:37:37-04:00</lastmod>
<lastmod>2022-10-28T16:08:43-04:00</lastmod>
</url><url>
<loc>https://roadmap.logos.co/roadmap/consensus/candidates/glacier/</loc>
<lastmod>2022-08-19T15:10:38-04:00</lastmod>
</url><url>
<loc>https://roadmap.logos.co/roadmap/consensus/candidates/logos-bft/overview/</loc>
<lastmod>2022-10-26T16:15:35-04:00</lastmod>
<lastmod>2022-10-28T16:08:43-04:00</lastmod>
</url><url>
<loc>https://roadmap.logos.co/requirements/overview/</loc>
<lastmod>2022-10-26T16:15:35-04:00</lastmod>
@ -47,7 +47,7 @@
<lastmod>2022-10-26T16:15:35-04:00</lastmod>
</url><url>
<loc>https://roadmap.logos.co/tags/LogosBFT/</loc>
<lastmod>2022-10-26T16:37:37-04:00</lastmod>
<lastmod>2022-10-28T16:08:43-04:00</lastmod>
</url><url>
<loc>https://roadmap.logos.co/roles/distributed-systems-researcher/</loc>
<lastmod>2022-08-19T15:10:38-04:00</lastmod>
@ -59,7 +59,7 @@
<lastmod>2022-10-26T16:15:35-04:00</lastmod>
</url><url>
<loc>https://roadmap.logos.co/roadmap/</loc>
<lastmod>2022-10-26T16:37:37-04:00</lastmod>
<lastmod>2022-10-28T16:08:43-04:00</lastmod>
</url><url>
<loc>https://roadmap.logos.co/tags/role/</loc>
<lastmod>2022-10-26T16:15:35-04:00</lastmod>
@ -74,7 +74,7 @@
<lastmod>2022-10-26T16:15:35-04:00</lastmod>
</url><url>
<loc>https://roadmap.logos.co/tags/</loc>
<lastmod>2022-10-26T16:37:37-04:00</lastmod>
<lastmod>2022-10-28T16:08:43-04:00</lastmod>
</url><url>
<loc>https://roadmap.logos.co/roadmap/consensus/theory/snow-family/</loc>
<lastmod>2022-08-19T15:10:38-04:00</lastmod>

View File

@ -96,13 +96,13 @@
<script>
const BASE_URL = "https://roadmap.logos.co/"
const fetchData = Promise.all([
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.c7d1dff2779fb783b87718939eb938dc.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.efdce789f52a414aac99217faaa05fac.min.json")
.then(data => data.json())
.then(data => ({
index: data.index,
links: data.links,
})),
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.501faefcb067cd17893de489cc1bb0f0.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.1ab8ea537a9a1daf324436722fac4853.min.json")
.then(data => data.json()),
])
.then(([{index, links}, content]) => ({
@ -244,7 +244,7 @@ if (!doNotTrack) {
<div class="section">
<p class="meta">
Oct 26, 2022
Oct 28, 2022
</p>
@ -264,7 +264,7 @@ Oct 26, 2022
<div class="section">
<p class="meta">
Oct 26, 2022
Oct 28, 2022
</p>

View File

@ -21,7 +21,7 @@
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://roadmap.logos.co/roadmap/consensus/candidates/logos-bft/overview/</guid>
<description>Logos BFT is a consensus candidate for the Logos Network that utilizes Network Coding and Committees to optimize message propagation in the presence of a large number of nodes, while maintaining a high level of security.</description>
<description>Logos BFT is a consensus candidate for the Logos Network that utilizes Fountain Codes and a committees tree structure to optimize message propagation in the presence of a large number of nodes, while maintaining high througput and fast finality.</description>
</item>
</channel>

View File

@ -96,13 +96,13 @@
<script>
const BASE_URL = "https://roadmap.logos.co/"
const fetchData = Promise.all([
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.c7d1dff2779fb783b87718939eb938dc.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.efdce789f52a414aac99217faaa05fac.min.json")
.then(data => data.json())
.then(data => ({
index: data.index,
links: data.links,
})),
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.501faefcb067cd17893de489cc1bb0f0.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.1ab8ea537a9a1daf324436722fac4853.min.json")
.then(data => data.json()),
])
.then(([{index, links}, content]) => ({
@ -264,7 +264,7 @@ Aug 19, 2022
<div class="section">
<p class="meta">
Oct 26, 2022
Oct 28, 2022
</p>

View File

@ -21,7 +21,7 @@
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://roadmap.logos.co/roadmap/consensus/candidates/logos-bft/overview/</guid>
<description>Logos BFT is a consensus candidate for the Logos Network that utilizes Network Coding and Committees to optimize message propagation in the presence of a large number of nodes, while maintaining a high level of security.</description>
<description>Logos BFT is a consensus candidate for the Logos Network that utilizes Fountain Codes and a committees tree structure to optimize message propagation in the presence of a large number of nodes, while maintaining high througput and fast finality.</description>
</item>
</channel>

View File

@ -96,13 +96,13 @@
<script>
const BASE_URL = "https://roadmap.logos.co/"
const fetchData = Promise.all([
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.c7d1dff2779fb783b87718939eb938dc.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.efdce789f52a414aac99217faaa05fac.min.json")
.then(data => data.json())
.then(data => ({
index: data.index,
links: data.links,
})),
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.501faefcb067cd17893de489cc1bb0f0.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.1ab8ea537a9a1daf324436722fac4853.min.json")
.then(data => data.json()),
])
.then(([{index, links}, content]) => ({
@ -322,7 +322,7 @@ Aug 19, 2022
<div class="section">
<p class="meta">
Oct 26, 2022
Oct 28, 2022
</p>
@ -362,7 +362,7 @@ Aug 19, 2022
<div class="section">
<p class="meta">
Oct 26, 2022
Oct 28, 2022
</p>

View File

@ -67,7 +67,7 @@ Required Roles Lead Developer (filled) </description>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://roadmap.logos.co/roadmap/consensus/candidates/logos-bft/overview/</guid>
<description>Logos BFT is a consensus candidate for the Logos Network that utilizes Network Coding and Committees to optimize message propagation in the presence of a large number of nodes, while maintaining a high level of security.</description>
<description>Logos BFT is a consensus candidate for the Logos Network that utilizes Fountain Codes and a committees tree structure to optimize message propagation in the presence of a large number of nodes, while maintaining high througput and fast finality.</description>
</item>
<item>

View File

@ -96,13 +96,13 @@
<script>
const BASE_URL = "https://roadmap.logos.co/"
const fetchData = Promise.all([
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.c7d1dff2779fb783b87718939eb938dc.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.efdce789f52a414aac99217faaa05fac.min.json")
.then(data => data.json())
.then(data => ({
index: data.index,
links: data.links,
})),
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.501faefcb067cd17893de489cc1bb0f0.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.1ab8ea537a9a1daf324436722fac4853.min.json")
.then(data => data.json()),
])
.then(([{index, links}, content]) => ({

View File

@ -96,13 +96,13 @@
<script>
const BASE_URL = "https://roadmap.logos.co/"
const fetchData = Promise.all([
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.c7d1dff2779fb783b87718939eb938dc.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.efdce789f52a414aac99217faaa05fac.min.json")
.then(data => data.json())
.then(data => ({
index: data.index,
links: data.links,
})),
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.501faefcb067cd17893de489cc1bb0f0.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.1ab8ea537a9a1daf324436722fac4853.min.json")
.then(data => data.json()),
])
.then(([{index, links}, content]) => ({

View File

@ -96,13 +96,13 @@
<script>
const BASE_URL = "https://roadmap.logos.co/"
const fetchData = Promise.all([
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.c7d1dff2779fb783b87718939eb938dc.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.efdce789f52a414aac99217faaa05fac.min.json")
.then(data => data.json())
.then(data => ({
index: data.index,
links: data.links,
})),
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.501faefcb067cd17893de489cc1bb0f0.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.1ab8ea537a9a1daf324436722fac4853.min.json")
.then(data => data.json()),
])
.then(([{index, links}, content]) => ({
@ -251,27 +251,7 @@ if (!doNotTrack) {
<div class="section">
<p class="meta">
Oct 26, 2022
</p>
<div class="desc">
<h3><a href="https://roadmap.logos.co/roadmap/consensus/candidates/logos-bft/FAQ/" class="internal-link" data-src="/roadmap/consensus/candidates/logos-bft/FAQ/">Frequently Asked Questions</a></h3>
</div>
<div class="spacer"></div>
<ul class="tags">
<li><a href="https://roadmap.logos.co/tags/LogosBFT/">LogosBFT</a></li>
<li><a href="https://roadmap.logos.co/tags/consensus/">Consensus</a></li>
</ul>
</div>
</li><li class="section-li">
<div class="section">
<p class="meta">
Oct 26, 2022
Oct 28, 2022
</p>
@ -293,6 +273,26 @@ Oct 26, 2022
<div class="section">
<p class="meta">
Oct 28, 2022
</p>
<div class="desc">
<h3><a href="https://roadmap.logos.co/roadmap/consensus/candidates/logos-bft/FAQ/" class="internal-link" data-src="/roadmap/consensus/candidates/logos-bft/FAQ/">Frequently Asked Questions</a></h3>
</div>
<div class="spacer"></div>
<ul class="tags">
<li><a href="https://roadmap.logos.co/tags/LogosBFT/">LogosBFT</a></li>
<li><a href="https://roadmap.logos.co/tags/consensus/">Consensus</a></li>
</ul>
</div>
</li><li class="section-li">
<div class="section">
<p class="meta">
Aug 19, 2022
@ -491,7 +491,7 @@ Aug 19, 2022
<div class="section">
<p class="meta">
Oct 26, 2022
Oct 28, 2022
</p>
@ -644,27 +644,7 @@ Oct 26, 2022
<div class="section">
<p class="meta">
Oct 26, 2022
</p>
<div class="desc">
<h3><a href="https://roadmap.logos.co/roadmap/consensus/candidates/logos-bft/FAQ/" class="internal-link" data-src="/roadmap/consensus/candidates/logos-bft/FAQ/">Frequently Asked Questions</a></h3>
</div>
<div class="spacer"></div>
<ul class="tags">
<li><a href="https://roadmap.logos.co/tags/LogosBFT/">LogosBFT</a></li>
<li><a href="https://roadmap.logos.co/tags/consensus/">Consensus</a></li>
</ul>
</div>
</li><li class="section-li">
<div class="section">
<p class="meta">
Oct 26, 2022
Oct 28, 2022
</p>
@ -680,6 +660,26 @@ Oct 26, 2022
<li><a href="https://roadmap.logos.co/tags/LogosBFT/">LogosBFT</a></li>
</ul>
</div>
</li><li class="section-li">
<div class="section">
<p class="meta">
Oct 28, 2022
</p>
<div class="desc">
<h3><a href="https://roadmap.logos.co/roadmap/consensus/candidates/logos-bft/FAQ/" class="internal-link" data-src="/roadmap/consensus/candidates/logos-bft/FAQ/">Frequently Asked Questions</a></h3>
</div>
<div class="spacer"></div>
<ul class="tags">
<li><a href="https://roadmap.logos.co/tags/LogosBFT/">LogosBFT</a></li>
<li><a href="https://roadmap.logos.co/tags/consensus/">Consensus</a></li>
</ul>
</div>
</li></ul>

View File

@ -96,13 +96,13 @@
<script>
const BASE_URL = "https://roadmap.logos.co/"
const fetchData = Promise.all([
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.c7d1dff2779fb783b87718939eb938dc.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.efdce789f52a414aac99217faaa05fac.min.json")
.then(data => data.json())
.then(data => ({
index: data.index,
links: data.links,
})),
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.501faefcb067cd17893de489cc1bb0f0.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.1ab8ea537a9a1daf324436722fac4853.min.json")
.then(data => data.json()),
])
.then(([{index, links}, content]) => ({

View File

@ -96,13 +96,13 @@
<script>
const BASE_URL = "https://roadmap.logos.co/"
const fetchData = Promise.all([
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.c7d1dff2779fb783b87718939eb938dc.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.efdce789f52a414aac99217faaa05fac.min.json")
.then(data => data.json())
.then(data => ({
index: data.index,
links: data.links,
})),
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.501faefcb067cd17893de489cc1bb0f0.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.1ab8ea537a9a1daf324436722fac4853.min.json")
.then(data => data.json()),
])
.then(([{index, links}, content]) => ({

View File

@ -96,13 +96,13 @@
<script>
const BASE_URL = "https://roadmap.logos.co/"
const fetchData = Promise.all([
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.c7d1dff2779fb783b87718939eb938dc.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.efdce789f52a414aac99217faaa05fac.min.json")
.then(data => data.json())
.then(data => ({
index: data.index,
links: data.links,
})),
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.501faefcb067cd17893de489cc1bb0f0.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.1ab8ea537a9a1daf324436722fac4853.min.json")
.then(data => data.json()),
])
.then(([{index, links}, content]) => ({

View File

@ -96,13 +96,13 @@
<script>
const BASE_URL = "https://roadmap.logos.co/"
const fetchData = Promise.all([
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.c7d1dff2779fb783b87718939eb938dc.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.efdce789f52a414aac99217faaa05fac.min.json")
.then(data => data.json())
.then(data => ({
index: data.index,
links: data.links,
})),
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.501faefcb067cd17893de489cc1bb0f0.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.1ab8ea537a9a1daf324436722fac4853.min.json")
.then(data => data.json()),
])
.then(([{index, links}, content]) => ({

View File

@ -96,13 +96,13 @@
<script>
const BASE_URL = "https://roadmap.logos.co/"
const fetchData = Promise.all([
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.c7d1dff2779fb783b87718939eb938dc.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.efdce789f52a414aac99217faaa05fac.min.json")
.then(data => data.json())
.then(data => ({
index: data.index,
links: data.links,
})),
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.501faefcb067cd17893de489cc1bb0f0.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.1ab8ea537a9a1daf324436722fac4853.min.json")
.then(data => data.json()),
])
.then(([{index, links}, content]) => ({

View File

@ -96,13 +96,13 @@
<script>
const BASE_URL = "https://roadmap.logos.co/"
const fetchData = Promise.all([
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.c7d1dff2779fb783b87718939eb938dc.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/linkIndex.efdce789f52a414aac99217faaa05fac.min.json")
.then(data => data.json())
.then(data => ({
index: data.index,
links: data.links,
})),
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.501faefcb067cd17893de489cc1bb0f0.min.json")
fetch("https:\/\/roadmap.logos.co\/indices\/contentIndex.1ab8ea537a9a1daf324436722fac4853.min.json")
.then(data => data.json()),
])
.then(([{index, links}, content]) => ({