You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<h3><ahref="https://rss3.io">RSS3 VSL</a> is a modularized Ethereum Layer 2, built to handle value and ownership of Open Information (social, search, AI, and beyond).</h3>
10
+
<br />
7
11
<br />
8
12
</div>
9
13
@@ -12,6 +16,7 @@
12
16
**Table of Contents**
13
17
14
18
-[What is Optimism?](#what-is-optimism)
19
+
-[What is RSS3 VSL?](#what-is-rss3-vsl)
15
20
-[Documentation](#documentation)
16
21
-[Specification](#specification)
17
22
-[Community](#community)
@@ -32,6 +37,26 @@
32
37
33
38
In this repository, you'll find numerous core components of the OP Stack, the decentralized software stack maintained by the Optimism Collective that powers Optimism and forms the backbone of blockchains like [OP Mainnet](https://explorer.optimism.io/) and [Base](https://base.org). Designed to be "aggressively open source," the OP Stack encourages you to explore, modify, extend, and test the code as needed. Although not all elements of the OP Stack are contained here, many of its essential components can be found within this repository. By collaborating on free, open software and shared standards, the Optimism Collective aims to prevent siloed software development and rapidly accelerate the development of the Ethereum ecosystem. Come contribute, build the future, and redefine power, together.
34
39
40
+
## What is RSS3 VSL?
41
+
42
+
The RSS3 VSL is a modularized Ethereum Layer 2, built to handle value and ownership of Open Information (social, search, AI, and beyond).
43
+
44
+
- Layer 2
45
+
46
+
Blockchain is the technology naturally designed to handle value and ownership with consensus. Therefore, we’ve decided to have VSL in the form of a blockchain. There are quite a few approaches to build a blockchain, and we ended up having a Ethereum layer 2: its EVM is the most widely used environment for smart contracts, it offer great potential liquidity, and $RSS3 for the current testnet is issued on Ethereum Mainnet - it will smoothly evolve as the utility token for the RSS3 Mainnet.
47
+
48
+
- Adjusted OP Stack
49
+
50
+
For Ethereum rollups, there are still the ongoing debates on what scaling solution is the best. We’ve decided that for now, the RSS3 VSL will be built based on OP Stack for its efficiency and ecosystem. As a relatively-mature solution powering multiple L2s, Optimistic rollup has been well proven. And we’ve adjusted OP Stack to best serve the purpose of VSL.
51
+
52
+
- Near DA
53
+
54
+
While being a layer 2 greatly saves transaction gas fee compared to Ethereum Mainnet, it’s not enough. As the ownership and value layer for open information, constant high frequency microtransactions are expected. Therefore, we are partnering with Near and have DA stored on the network. This further significantly lowers the transaction cost on RSS3 VSL.
55
+
56
+
- Gas Token
57
+
58
+
The RSS3 VSL will have $RSS3 as its gas token, making it the first native gas L2 with Optimistic rollup and Near DA. The sequencer will take $RSS3 and convert it into $ETH and $TIA. And if that results in sequencer revenue, it will go to public goods and ecosystem grants.
59
+
35
60
## Documentation
36
61
37
62
- If you want to build on top of OP Mainnet, refer to the [Optimism Documentation](https://docs.optimism.io)
// frameRef is the blob commitment, which is provided as [transaction_id ++ commitment]
445
+
frameRef, err:=l.NearDA.Submit(data)
446
+
iferr!=nil {
447
+
l.Log.Warn("failed to submit blob to near da", "err", err)
448
+
returnnil, err
449
+
}
450
+
451
+
// finality is achieved which is 3 blocks (around 2-3 seconds) its not possible for a reorg to happen
452
+
// check the submitted blob after finality
453
+
time.Sleep(10*time.Second)
454
+
blobData, err:=l.NearDA.Get(frameRef, 0)
455
+
iferr!=nil {
456
+
log.Error("failed to get blob from near da, maybe chain reorg", "id", hex.EncodeToString(data), "err", err)
457
+
returnnil, err
458
+
}
459
+
if!bytes.Equal(blobData, data) {
460
+
log.Error("failed to get blob from near da, blob data mismatch", "id", hex.EncodeToString(frameRef), "expected", hex.EncodeToString(data), "got", hex.EncodeToString(blobData))
461
+
returnnil, fmt.Errorf("submitted blob mismatch with obtained blob, id :%s", hex.EncodeToString(frameRef))
462
+
}
463
+
464
+
returnframeRef, nil
465
+
}
466
+
467
+
// publish blob to near da, and get the FrameRef from near da
468
+
// then publish the `DerivationVersionNear + FrameRef` to ethereum
0 commit comments