cyberia 3.0.2 → 3.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{.env.production → .env.example} +20 -2
- package/.github/workflows/engine-cyberia.cd.yml +41 -10
- package/.github/workflows/engine-cyberia.ci.yml +53 -14
- package/.github/workflows/ghpkg.ci.yml +1 -1
- package/.github/workflows/gitlab.ci.yml +1 -1
- package/.github/workflows/hardhat.ci.yml +82 -0
- package/.github/workflows/npmpkg.ci.yml +37 -8
- package/.github/workflows/publish.ci.yml +5 -5
- package/.github/workflows/publish.cyberia.ci.yml +5 -5
- package/.github/workflows/pwa-microservices-template-page.cd.yml +3 -3
- package/.github/workflows/pwa-microservices-template-test.ci.yml +1 -1
- package/.github/workflows/release.cd.yml +3 -2
- package/.vscode/extensions.json +9 -8
- package/.vscode/settings.json +3 -2
- package/CHANGELOG.md +533 -290
- package/CLI-HELP.md +79 -53
- package/WHITE-PAPER.md +1540 -0
- package/bin/build.js +16 -11
- package/bin/cyberia.js +959 -8
- package/bin/deploy.js +103 -270
- package/bin/file.js +2 -1
- package/bin/index.js +959 -8
- package/bin/vs.js +3 -3
- package/conf.js +277 -77
- package/deployment.yaml +218 -4
- package/hardhat/.env.example +31 -0
- package/hardhat/README.md +531 -0
- package/hardhat/WHITE-PAPER.md +1540 -0
- package/hardhat/contracts/ObjectLayerToken.sol +391 -0
- package/hardhat/deployments/.gitkeep +0 -0
- package/hardhat/deployments/hardhat-ObjectLayerToken.json +11 -0
- package/hardhat/hardhat.config.js +136 -0
- package/hardhat/ignition/modules/ObjectLayerToken.js +21 -0
- package/hardhat/networks/besu-object-layer.network.json +138 -0
- package/hardhat/package-lock.json +7628 -0
- package/hardhat/package.json +45 -0
- package/hardhat/scripts/deployObjectLayerToken.js +98 -0
- package/hardhat/test/ObjectLayerToken.js +590 -0
- package/jsdoc.dd-cyberia.json +59 -0
- package/jsdoc.json +20 -13
- package/manifests/cronjobs/dd-cron/dd-cron-backup.yaml +1 -1
- package/manifests/cronjobs/dd-cron/dd-cron-dns.yaml +1 -1
- package/manifests/deployment/dd-cyberia-development/deployment.yaml +490 -0
- package/manifests/deployment/dd-cyberia-development/proxy.yaml +261 -0
- package/manifests/deployment/dd-cyberia-development/pv-pvc.yaml +132 -0
- package/manifests/deployment/dd-default-development/deployment.yaml +2 -2
- package/manifests/deployment/dd-test-development/deployment.yaml +52 -52
- package/manifests/deployment/dd-test-development/proxy.yaml +4 -4
- package/manifests/pv-pvc-dd.yaml +1 -1
- package/package.json +60 -50
- package/proxy.yaml +128 -9
- package/pv-pvc.yaml +132 -0
- package/scripts/k3s-node-setup.sh +1 -1
- package/scripts/ports-ls.sh +2 -0
- package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.controller.js +3 -1
- package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.model.js +1 -2
- package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.service.js +40 -7
- package/src/api/document/document.service.js +1 -1
- package/src/api/file/file.controller.js +3 -1
- package/src/api/file/file.service.js +28 -5
- package/src/api/ipfs/ipfs.service.js +2 -2
- package/src/api/object-layer/object-layer.controller.js +6 -2
- package/src/api/object-layer/object-layer.model.js +67 -21
- package/src/api/object-layer/object-layer.router.js +668 -42
- package/src/api/object-layer/object-layer.service.js +10 -16
- package/src/api/object-layer-render-frames/object-layer-render-frames.model.js +1 -2
- package/src/api/user/user.router.js +10 -5
- package/src/api/user/user.service.js +7 -7
- package/src/cli/baremetal.js +6 -10
- package/src/cli/cloud-init.js +0 -3
- package/src/cli/db.js +54 -71
- package/src/cli/deploy.js +64 -12
- package/src/cli/env.js +5 -5
- package/src/cli/fs.js +0 -2
- package/src/cli/image.js +0 -3
- package/src/cli/index.js +41 -13
- package/src/cli/monitor.js +5 -6
- package/src/cli/repository.js +329 -46
- package/src/cli/run.js +210 -122
- package/src/cli/secrets.js +1 -3
- package/src/cli/ssh.js +1 -1
- package/src/client/Itemledger.index.js +1 -959
- package/src/client/Underpost.index.js +36 -0
- package/src/client/components/core/AgGrid.js +20 -5
- package/src/client/components/core/Alert.js +2 -2
- package/src/client/components/core/Content.js +22 -3
- package/src/client/components/core/Docs.js +30 -6
- package/src/client/components/core/FileExplorer.js +71 -4
- package/src/client/components/core/Input.js +1 -1
- package/src/client/components/core/Modal.js +22 -6
- package/src/client/components/core/PublicProfile.js +3 -3
- package/src/client/components/core/RichText.js +1 -2
- package/src/client/components/core/Router.js +34 -1
- package/src/client/components/core/Worker.js +1 -1
- package/src/client/components/cryptokoyn/CssCryptokoyn.js +63 -1
- package/src/client/components/cyberia/ObjectLayerEngineModal.js +145 -119
- package/src/client/components/cyberia/ObjectLayerEngineViewer.js +64 -6
- package/src/client/components/cyberia-portal/CommonCyberiaPortal.js +1 -0
- package/src/client/components/cyberia-portal/CssCyberiaPortal.js +44 -2
- package/src/client/components/cyberia-portal/LogInCyberiaPortal.js +0 -1
- package/src/client/components/cyberia-portal/MenuCyberiaPortal.js +64 -2
- package/src/client/components/cyberia-portal/RoutesCyberiaPortal.js +1 -0
- package/src/client/components/itemledger/CssItemledger.js +62 -0
- package/src/client/components/underpost/CommonUnderpost.js +29 -0
- package/src/client/components/underpost/CssUnderpost.js +281 -0
- package/src/client/components/underpost/CyberpunkBloggerUnderpost.js +879 -0
- package/src/client/components/underpost/DocumentSearchProvider.js +448 -0
- package/src/client/components/underpost/ElementsUnderpost.js +38 -0
- package/src/client/components/underpost/LabGalleryUnderpost.js +82 -0
- package/src/client/components/underpost/LogInUnderpost.js +23 -0
- package/src/client/components/underpost/LogOutUnderpost.js +15 -0
- package/src/client/components/underpost/MenuUnderpost.js +691 -0
- package/src/client/components/underpost/RoutesUnderpost.js +47 -0
- package/src/client/components/underpost/SettingsUnderpost.js +16 -0
- package/src/client/components/underpost/SignUpUnderpost.js +9 -0
- package/src/client/components/underpost/SocketIoUnderpost.js +54 -0
- package/src/client/components/underpost/TranslateUnderpost.js +10 -0
- package/src/client/public/cryptokoyn/assets/logo/base-icon.png +0 -0
- package/src/client/public/cryptokoyn/browserconfig.xml +12 -0
- package/src/client/public/cryptokoyn/microdata.json +85 -0
- package/src/client/public/cryptokoyn/site.webmanifest +57 -0
- package/src/client/public/cryptokoyn/sitemap +3 -3
- package/src/client/public/default/sitemap +3 -3
- package/src/client/public/itemledger/browserconfig.xml +2 -2
- package/src/client/public/itemledger/manifest.webmanifest +4 -4
- package/src/client/public/itemledger/microdata.json +71 -0
- package/src/client/public/itemledger/sitemap +3 -3
- package/src/client/public/itemledger/yandex-browser-manifest.json +2 -2
- package/src/client/public/test/sitemap +3 -3
- package/src/client/services/object-layer/object-layer.management.js +23 -4
- package/src/client/ssr/body/404.js +15 -11
- package/src/client/ssr/body/500.js +15 -11
- package/src/client/ssr/body/SwaggerDarkMode.js +285 -0
- package/src/client/ssr/body/UnderpostDefaultSplashScreen.js +83 -0
- package/src/client/ssr/head/PwaItemledger.js +60 -0
- package/src/client/ssr/head/UnderpostScripts.js +6 -0
- package/src/client/ssr/offline/NoNetworkConnection.js +11 -10
- package/src/client/ssr/pages/Test.js +11 -10
- package/src/client.build.js +0 -3
- package/src/client.dev.js +0 -3
- package/src/db/DataBaseProvider.js +17 -2
- package/src/db/mariadb/MariaDB.js +14 -9
- package/src/db/mongo/MongooseDB.js +17 -1
- package/src/index.js +1 -1
- package/src/proxy.js +0 -3
- package/src/runtime/express/Express.js +15 -9
- package/src/runtime/lampp/Lampp.js +6 -13
- package/src/server/auth.js +12 -14
- package/src/server/backup.js +2 -3
- package/src/server/besu-genesis-generator.js +1630 -0
- package/src/server/client-build-docs.js +126 -17
- package/src/server/client-build-live.js +9 -18
- package/src/server/client-build.js +203 -75
- package/src/server/client-dev-server.js +14 -13
- package/src/server/conf.js +376 -164
- package/src/server/cron.js +2 -1
- package/src/server/dns.js +28 -12
- package/src/server/downloader.js +0 -2
- package/src/server/logger.js +27 -9
- package/src/server/object-layer.js +92 -16
- package/src/server/peer.js +0 -2
- package/src/server/process.js +1 -50
- package/src/server/proxy.js +4 -8
- package/src/server/runtime.js +5 -8
- package/src/server/semantic-layer-generator.js +1 -0
- package/src/server/ssr.js +0 -3
- package/src/server/start.js +19 -12
- package/src/server/tls.js +0 -2
- package/src/server.js +0 -4
- package/.env.development +0 -43
- package/.env.test +0 -43
- package/hardhat/contracts/CryptoKoyn.sol +0 -59
- package/hardhat/contracts/ItemLedger.sol +0 -73
- package/hardhat/contracts/Lock.sol +0 -34
- package/hardhat/hardhat.config.cjs +0 -45
- package/hardhat/ignition/modules/Lock.js +0 -18
- package/hardhat/networks/cryptokoyn-itemledger.network.json +0 -29
- package/hardhat/scripts/deployCryptokoyn.cjs +0 -25
- package/hardhat/scripts/deployItemledger.cjs +0 -25
- package/hardhat/test/Lock.js +0 -126
- package/hardhat/white-paper.md +0 -581
- package/white-paper.md +0 -581
package/white-paper.md
DELETED
|
@@ -1,581 +0,0 @@
|
|
|
1
|
-
## Cryptokoyn & Itemledger: Cyberian Frontier Tokenomics
|
|
2
|
-
|
|
3
|
-
**A decentralized solution for player progression**
|
|
4
|
-
|
|
5
|
-
## Table of Contents
|
|
6
|
-
|
|
7
|
-
1. **Executive Summary**
|
|
8
|
-
- 1.1 [Brief overview of the whitepaper and its key findings](#header-1.1)
|
|
9
|
-
2. **Introduction**
|
|
10
|
-
- 2.1 [Overview of gaming industry and Cyberia Online](#header-2.1)
|
|
11
|
-
- 2.2 [Problem statement: need for a decentralized solution for player progression](#header-2.2)
|
|
12
|
-
3. **Technology Stack**
|
|
13
|
-
- 3.1 [Hyperledger Besu](#header-3.1)
|
|
14
|
-
- 3.2 [Hardhat](#header-3.2)
|
|
15
|
-
- 3.3 [Openzeppelin ERC Smart Contracts](#header-3.3)
|
|
16
|
-
- 3.4 [MongoDB schemas](#header-3.4)
|
|
17
|
-
- 3.5 [IPFS storage](#header-3.5)
|
|
18
|
-
4. **Tokenomics**
|
|
19
|
-
- 4.1 [Cryptokoyn.net (ERC-20): In-game currency](#header-4.1)
|
|
20
|
-
- 4.2 [Itemledger.com (ERC-721): NFT for in-game items](#header-4.2)
|
|
21
|
-
- 4.3 [Token distribution and allocation](#header-4.3)
|
|
22
|
-
- 4.4 Consensus mechanism
|
|
23
|
-
- 4.5 [Governance and Circulation](#header-4.5)
|
|
24
|
-
5. **Game Mechanics and Progression**
|
|
25
|
-
- 5.1 How tokens are integrated into gameplay
|
|
26
|
-
- 5.2 Decentralized player progression
|
|
27
|
-
- 5.3 Item crafting and trading
|
|
28
|
-
6. **Security and Transparency**
|
|
29
|
-
- 6.1 Blockchain security measures
|
|
30
|
-
- 6.2 Smart contract audits
|
|
31
|
-
7. **Conclusion**
|
|
32
|
-
- 7.1 Recap of key points and future outlook
|
|
33
|
-
8. **References**
|
|
34
|
-
|
|
35
|
-
### 1. Executive Summary
|
|
36
|
-
|
|
37
|
-
<a name="header-1.1"/>
|
|
38
|
-
|
|
39
|
-
#### 1.1 Brief overview of the whitepaper and its key findings
|
|
40
|
-
|
|
41
|
-
This whitepaper introduces "Cyberian Frontier Tokenomics", a decentralized solution for player progression in the MMORPG "Cyberia Online." We propose a blockchain-based system built on Hyperledger Besu that leverages Ethereum Request for Comment (ERC), Protocol that provides guidelines for creating tokens and smart contracts, and for data formatting and transmission on the Ethereum ecosystem, in this case for in-game currency and item ownership.
|
|
42
|
-
|
|
43
|
-
**Key Findings**
|
|
44
|
-
|
|
45
|
-
- **Player Ownership:** By leveraging ERC-721 standards, Itemledger.com (IL), tokens can represent unique in-game items in Cyberia Online. Owning all ERC-721 tokens associated with a public key allows for full reconstruction of a character's game state, including their inventory and equipment.
|
|
46
|
-
- **Decentralized Economy:** ERC-20 tokens, represented by Cryptokoyn.net (CKY), serve as the in-game currency for Cyberia Online. This allows players to hold their character's coin balance on a secure and transparent blockchain ledger.
|
|
47
|
-
- **Open Ecosystems:** External developers can potentially leverage character data and validate authenticity for future innovations.
|
|
48
|
-
|
|
49
|
-
The following sections will delve deeper into the technical aspects, game mechanics, and economic benefits of this decentralized approach.
|
|
50
|
-
|
|
51
|
-
### 2. Introduction
|
|
52
|
-
|
|
53
|
-
<a name="header-2.1"/>
|
|
54
|
-
|
|
55
|
-
#### 2.1 Overview of the Gaming Industry and Cyberia Online
|
|
56
|
-
|
|
57
|
-
**The Rise of Multi-Platform Gaming, Procedural algorithms, and AI Content Generation**
|
|
58
|
-
|
|
59
|
-
The gaming industry has experienced explosive growth in recent years, driven by the proliferation of mobile devices and the increasing demand for cross-platform gaming experiences (<a target="_top" href='https://www2.deloitte.com/us/en/insights/industry/technology/future-crossplay-gaming-demand.html'>1</a>,<a target="_top" href='https://unity.com/resources/gaming-report'>2</a>,<a target="_top" href='https://www.servers.com/news/blog/is-cross-platform-the-future-of-gaming'>3</a>,<a target="_top" href='https://www.servers.com/news/blog/my-6-big-takeaways-from-gdc-2023'>4</a>). Games like _Albion Online_ (<a target="_top" href='https://www.affinitymediagroup.co/albion'>case study</a>) have demonstrated the potential of non-linear MMORPGs by allowing players to build their own economies and explore vast virtual worlds.
|
|
60
|
-
|
|
61
|
-
A key factor in this growth has been the adoption of procedural content generation technologies. Games such as _Minecraft_ (<a target="_top" href='https://www.kodeby.com/blog/post/exploring-the-impact-of-procedural-generation-in-modern-game-development-techniques'>source</a>) have popularized the idea of randomly generated worlds, offering players unique and infinite experiences. These technologies, combined with advancements in artificial intelligence, have democratized content creation in video games.
|
|
62
|
-
|
|
63
|
-
**Artificial Intelligence and Content Generation**
|
|
64
|
-
|
|
65
|
-
Large language models (LLMs) and diffusion models are innovative way how content is created for video games. These AI tools enable the rapid and efficient generation of:
|
|
66
|
-
|
|
67
|
-
- **Stories and scripts:** LLMs can create compelling and personalized narratives for each player.
|
|
68
|
-
- **Art assets:** Diffusion models generate a wide variety of art assets, such as characters, environments, and objects, at a significantly lower cost than traditional methods.
|
|
69
|
-
- **Virtual worlds:** The combination of LLMs and diffusion models enables the creation of coherent and dynamic virtual worlds, where every element is interconnected and responds to player actions.
|
|
70
|
-
|
|
71
|
-
**Impact on Cyberia Online**
|
|
72
|
-
|
|
73
|
-
Cyberia Online is poised to capitalize on these trends by offering a unique browser-based MMORPG set in a cyberpunk universe. As a non-linear sandbox game, Cyberia Online empowers players to explore a dynamic world and shape their own narratives. By procedurally generating vast areas of its cyberpunk world, Cyberia Online ensures that each player has a unique and personalized experience. Additionally, AI will be used to create dynamic stories and characters that players can interact with meaningfully.
|
|
74
|
-
|
|
75
|
-
**Key Features of Cyberia Online**
|
|
76
|
-
|
|
77
|
-
- Browser-based, cross-platform accessibility
|
|
78
|
-
- Open source auditable
|
|
79
|
-
- Trust character and items ownership
|
|
80
|
-
- Sandbox no lineal
|
|
81
|
-
- Free-to-play
|
|
82
|
-
- Pixel art aesthetic
|
|
83
|
-
- Action RPG mechanics
|
|
84
|
-
- Cyberpunk setting
|
|
85
|
-
- Content AI scalable
|
|
86
|
-
|
|
87
|
-
<a name="header-2.2"/>
|
|
88
|
-
|
|
89
|
-
#### 2.2 Problem Statement: Need for a Decentralized Solution for Player Progression
|
|
90
|
-
|
|
91
|
-
Traditional MMORPGs often struggle to strike a balance between player ownership, transparency, and a healthy in-game economy (<a target="_top" href='https://ieeexplore.ieee.org/abstract/document/10585540'>source</a>). Centralized servers controlled by game developers raise concerns about:
|
|
92
|
-
|
|
93
|
-
- **Lack of Ownership:** Players may invest significant time and resources into building characters and acquiring items, but ultimately lack true ownership of these digital assets. Server shutdowns or changes in game rules can erase player progress.
|
|
94
|
-
- **Opacity and Manipulation:** Game developers hold significant power over in-game economies, potentially manipulating item value or introducing pay-to-win mechanics that erode trust and fairness.
|
|
95
|
-
- **Security Risks:** Centralized servers can be vulnerable to hacks or exploits, jeopardizing player data and in-game assets.
|
|
96
|
-
|
|
97
|
-
This whitepaper proposes a solution: a **decentralized player progression system** built on blockchain technology. This system aims to address the limitations of traditional MMORPGs by offering:
|
|
98
|
-
|
|
99
|
-
- **Verifiable Ownership:** Players hold their characters and items as digital assets on a distributed ledger, ensuring tamper-proof progression and true ownership.
|
|
100
|
-
- **Transparency and Trust:** Smart contracts automate game mechanics and token issuance, creating a transparent and verifiable system that players can trust.
|
|
101
|
-
- **Secure and Thriving Economy:** Blockchain technology provides a secure platform for in-game transactions and item trading, fostering a robust and player-driven economy.
|
|
102
|
-
|
|
103
|
-
By implementing a distributed solution, Cyberian Frontier aims to empower players, create a fair and transparent gaming environment, and innovative MMORPG experience.
|
|
104
|
-
|
|
105
|
-
### 3. Technology Stack
|
|
106
|
-
|
|
107
|
-
<a name="header-3.1"/>
|
|
108
|
-
|
|
109
|
-
#### 3.1 Hyperledger Besu
|
|
110
|
-
|
|
111
|
-
- **Overview:** Hyperledger Besu is an enterprise-grade Ethereum client that provides a robust and secure platform for executing smart contracts. It ensures high performance, reliability, and scalability, making it an ideal choice for our dApp's blockchain operations.
|
|
112
|
-
- **Key Benefits:**
|
|
113
|
-
- **Privacy and Security:** Offers advanced privacy features and security protocols.
|
|
114
|
-
- **Performance and Scalability:** Optimized for high-throughput and low-latency transactions.
|
|
115
|
-
- **Enterprise-Grade:** Designed for production environments with robust governance and support.
|
|
116
|
-
|
|
117
|
-
<a href='https://hyperledger-fabric.readthedocs.io/' target='_top'>See official Hyperledger Besu documentation.</a>
|
|
118
|
-
|
|
119
|
-
<a name="header-3.2"/>
|
|
120
|
-
|
|
121
|
-
#### 3.2 Hardhat
|
|
122
|
-
|
|
123
|
-
- **Overview:** Hardhat is a powerful development environment for Ethereum. It streamlines the development, testing, and deployment of smart contracts, significantly accelerating the development cycle.
|
|
124
|
-
- **Key Benefits:**
|
|
125
|
-
|
|
126
|
-
- **Rapid Development:** Provides a rich set of tools and plugins for efficient development.
|
|
127
|
-
- **Robust Testing:** Offers a comprehensive testing framework to ensure code quality and security.
|
|
128
|
-
- **Simplified Deployment:** Facilitates seamless deployment of smart contracts to various networks.
|
|
129
|
-
|
|
130
|
-
<a href='https://hardhat.org/docs' target='_top'>See official Hardhat documentation.</a>
|
|
131
|
-
|
|
132
|
-
<a name="header-3.3"/>
|
|
133
|
-
|
|
134
|
-
#### 3.3 OpenZeppelin Contracts
|
|
135
|
-
|
|
136
|
-
- **Overview:** OpenZeppelin Contracts is a library of reusable, audited smart contract code. It provides a solid foundation for building secure and efficient smart contracts, reducing the risk of vulnerabilities.
|
|
137
|
-
- **Key Benefits:**
|
|
138
|
-
- **Security:** Rigorously audited and battle-tested code.
|
|
139
|
-
- **Efficiency:** Optimized for gas efficiency and performance.
|
|
140
|
-
- **Flexibility:** Modular design allows for customization and extension.
|
|
141
|
-
|
|
142
|
-
<a href='https://docs.openzeppelin.com/' target='_top'>See official OpenZeppelin documentation.</a>
|
|
143
|
-
|
|
144
|
-
<a name="header-3.4"/>
|
|
145
|
-
|
|
146
|
-
#### 3.4 MongoDB Schemas
|
|
147
|
-
|
|
148
|
-
- **Overview:** MongoDB is a flexible, high-performance NoSQL database that enables efficient storage and retrieval of data. We utilize MongoDB to store and manage non-blockchain data, such as user profiles, transaction history, and application state.
|
|
149
|
-
- **Key Benefits:**
|
|
150
|
-
- **Scalability:** Easily horizontal scales to handle increasing data volumes and user loads.
|
|
151
|
-
- **Flexibility:** Schema-less design allows for dynamic data structures.
|
|
152
|
-
- **High Performance:** Optimized for fast read and write operations.
|
|
153
|
-
|
|
154
|
-
<a href='https://www.mongodb.com/docs/' target='_top'>See official MongoDB documentation.</a>
|
|
155
|
-
|
|
156
|
-
<a name="header-3.5"/>
|
|
157
|
-
|
|
158
|
-
#### 3.5 IPFS Storage
|
|
159
|
-
|
|
160
|
-
- **Overview:** IPFS (InterPlanetary File System) is a distributed storage and file-sharing network. We leverage IPFS to store large files and static assets, such as images, videos, and documents, ensuring data durability and accessibility.
|
|
161
|
-
- **Key Benefits:**
|
|
162
|
-
- **Decentralization:** Reduces reliance on centralized servers and improves data resilience.
|
|
163
|
-
- **Content Addressing:** Efficiently stores and retrieves data based on its content hash.
|
|
164
|
-
- **Global Distribution:** Distributes data across a network of nodes, enhancing availability.
|
|
165
|
-
|
|
166
|
-
<a href='https://docs.ipfs.tech/' target='_top'>See official IPFS documentation.</a>
|
|
167
|
-
|
|
168
|
-
### 4. Tokenomics
|
|
169
|
-
|
|
170
|
-
**A decentralized in-game economy**
|
|
171
|
-
|
|
172
|
-
This section details the economic structure of Cyberian Frontier, outlining the two tokens that power the ecosystem and the mechanisms governing their distribution, circulation, and governance.
|
|
173
|
-
|
|
174
|
-
<a name="header-4.1"/>
|
|
175
|
-
|
|
176
|
-
#### 4.1 Cryptokoyn.net (ERC-20): In-game currency
|
|
177
|
-
|
|
178
|
-
Cryptokoyn.net (CKY) serves as the primary in-game currency of Cyberia Online. It functions as a tradable ERC-20 token on the Hyperledger Besu blockchain, enabling players to:
|
|
179
|
-
|
|
180
|
-
- **Purchase in-game items:** Players can utilize CKY to acquire various items within the game, such as weapons, armor, consumables, and cosmetic enhancements.
|
|
181
|
-
- **Engage in peer-to-peer trading:** The blockchain facilitates secure and transparent peer-to-peer trading between players, fostering a vibrant in-game economy.
|
|
182
|
-
- **Earn rewards:** Players can earn CKY through various gameplay activities, such as completing quests, defeating enemies, and participating in events.
|
|
183
|
-
|
|
184
|
-
- **Proposed smart contract**
|
|
185
|
-
|
|
186
|
-
```solidity
|
|
187
|
-
// SPDX-License-Identifier: MIT
|
|
188
|
-
// Compatible with OpenZeppelin Contracts ^5.0.0
|
|
189
|
-
pragma solidity ^0.8.20;
|
|
190
|
-
|
|
191
|
-
import '@openzeppelin/contracts/token/ERC20/ERC20.sol';
|
|
192
|
-
import '@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol';
|
|
193
|
-
import '@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol';
|
|
194
|
-
import '@openzeppelin/contracts/access/Ownable.sol';
|
|
195
|
-
import '@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol';
|
|
196
|
-
|
|
197
|
-
/**
|
|
198
|
-
* @title CryptoKoyn Token
|
|
199
|
-
* @dev An ERC20 token with minting, burning, pausing, and permit functionalities.
|
|
200
|
-
*/
|
|
201
|
-
contract CryptoKoyn is ERC20, ERC20Burnable, ERC20Pausable, Ownable, ERC20Permit {
|
|
202
|
-
/**
|
|
203
|
-
* @dev Constructs a new CryptoKoyn token.
|
|
204
|
-
* @param initialOwner The initial owner of the token.
|
|
205
|
-
*/
|
|
206
|
-
constructor(address initialOwner) ERC20('CryptoKoyn', 'CKY') Ownable(initialOwner) ERC20Permit('CryptoKoyn') {
|
|
207
|
-
_mint(msg.sender, 10000000 * 10 ** decimals());
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
/**
|
|
211
|
-
* @dev Pauses all token transfers.
|
|
212
|
-
* @dev Only the owner can call this function.
|
|
213
|
-
*/
|
|
214
|
-
function pause() public onlyOwner {
|
|
215
|
-
_pause();
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
/**
|
|
219
|
-
* @dev Unpauses all token transfers.
|
|
220
|
-
* @dev Only the owner can call this function.
|
|
221
|
-
*/
|
|
222
|
-
function unpause() public onlyOwner {
|
|
223
|
-
_unpause();
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
/**
|
|
227
|
-
* @dev Mints new tokens.
|
|
228
|
-
* @param to The recipient of the minted tokens.
|
|
229
|
-
* @param amount The amount of tokens to mint.
|
|
230
|
-
* @dev Only the owner can call this function.
|
|
231
|
-
*/
|
|
232
|
-
function mint(address to, uint256 amount) public onlyOwner {
|
|
233
|
-
_mint(to, amount);
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
/**
|
|
237
|
-
* @dev Overrides the `_update` function to ensure proper token transfer handling.
|
|
238
|
-
* @param from The sender of the tokens.
|
|
239
|
-
* @param to The recipient of the tokens.
|
|
240
|
-
* @param value The amount of tokens to transfer.
|
|
241
|
-
*/
|
|
242
|
-
function _update(address from, address to, uint256 value) internal override(ERC20, ERC20Pausable) {
|
|
243
|
-
super._update(from, to, value);
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
```
|
|
248
|
-
|
|
249
|
-
**Understanding the CryptoKoyn Smart Contract**
|
|
250
|
-
|
|
251
|
-
This Solidity smart contract, named `CryptoKoyn`, implements an ERC20 token standard with additional features: minting, burning, pausing, and permit. Let's break down its functionality:
|
|
252
|
-
|
|
253
|
-
**Import Statements:**
|
|
254
|
-
|
|
255
|
-
- **ERC20:** The core ERC20 standard for fungible tokens.
|
|
256
|
-
- **ERC20Burnable:** Extends ERC20 to allow token holders to burn their tokens.
|
|
257
|
-
- **ERC20Pausable:** Extends ERC20 to allow pausing and unpausing token transfers.
|
|
258
|
-
- **Ownable:** Provides ownership and access control mechanisms.
|
|
259
|
-
- **ERC20Permit:** Enables token transfers using signatures, bypassing the need for transaction fees.
|
|
260
|
-
|
|
261
|
-
**Constructor:**
|
|
262
|
-
|
|
263
|
-
- **Initializes the contract:** Sets the token name, symbol, and initial supply.
|
|
264
|
-
- **Mints initial tokens:** Assigns 10 million tokens to the contract's owner.
|
|
265
|
-
|
|
266
|
-
**Functions:**
|
|
267
|
-
|
|
268
|
-
- **pause():** Pauses all token transfers, preventing any further activity.
|
|
269
|
-
- **unpause():** Unpauses token transfers, allowing normal operations to resume.
|
|
270
|
-
- **mint(address to, uint256 amount):** Mints new tokens and assigns them to the specified address. Only the contract owner can call this function.
|
|
271
|
-
- **\_update(address from, address to, uint256 value):** Overrides the `_update` function from the ERC20 and ERC20Pausable contracts to ensure proper token transfer handling, especially when the contract is paused.
|
|
272
|
-
|
|
273
|
-
**Key Points:**
|
|
274
|
-
|
|
275
|
-
- **Security:** The `Ownable` contract ensures that only the designated owner can perform certain actions like minting and pausing.
|
|
276
|
-
- **Flexibility:** The `ERC20Burnable` and `ERC20Pausable` features provide additional control over the token supply and its circulation.
|
|
277
|
-
- **User-Friendliness:** The `ERC20Permit` feature enables efficient and gas-efficient token transfers, especially for users with low transaction fees.
|
|
278
|
-
|
|
279
|
-
This smart contract creates a flexible and secure ERC20 token that can be controlled by the owner. It can be used for various purposes, such as fundraising, governance tokens, or loyalty programs.
|
|
280
|
-
|
|
281
|
-
<a name="header-4.2"/>
|
|
282
|
-
|
|
283
|
-
#### 4.2 Itemledger.com (ERC-721): NFT for in-game items
|
|
284
|
-
|
|
285
|
-
Itemledger.com (IL) tokens represent unique in-game items on the Ethereum blockchain standard ERC-721. Owning an IL token grants a player verifiable ownership of a corresponding item within Cyberia Online. These tokens offer several advantages:
|
|
286
|
-
|
|
287
|
-
- **True ownership:** Players hold demonstrably scarce and unique digital assets.
|
|
288
|
-
- **Secure trading:** Secure and transparent peer-to-peer trading of in-game items is enabled on NFT marketplaces.
|
|
289
|
-
- **Interoperability:** Potentially, IL tokens could hold value or utility outside of Cyberia Online, fostering a broader digital asset ecosystem.
|
|
290
|
-
|
|
291
|
-
- **Proposed smart contract**
|
|
292
|
-
|
|
293
|
-
```solidity
|
|
294
|
-
// SPDX-License-Identifier: MIT
|
|
295
|
-
// Compatible with OpenZeppelin Contracts ^5.0.0
|
|
296
|
-
pragma solidity ^0.8.20;
|
|
297
|
-
|
|
298
|
-
import '@openzeppelin/contracts/token/ERC721/ERC721.sol';
|
|
299
|
-
import '@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol';
|
|
300
|
-
import '@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol';
|
|
301
|
-
import '@openzeppelin/contracts/access/Ownable.sol';
|
|
302
|
-
|
|
303
|
-
/**
|
|
304
|
-
* @title ItemLedger
|
|
305
|
-
* @dev An ERC721 token contract for managing items, with minting and burning capabilities.
|
|
306
|
-
*/
|
|
307
|
-
contract ItemLedger is ERC721, ERC721Enumerable, ERC721Burnable, Ownable {
|
|
308
|
-
/**
|
|
309
|
-
* @dev Constructs a new ItemLedger contract.
|
|
310
|
-
* @param initialOwner The initial owner of the contract.
|
|
311
|
-
*/
|
|
312
|
-
constructor(address initialOwner) ERC721('ItemLedger', 'IL') Ownable(initialOwner) {}
|
|
313
|
-
|
|
314
|
-
/**
|
|
315
|
-
* @dev Sets the base URI for token URIs.
|
|
316
|
-
*/
|
|
317
|
-
function _baseURI() internal pure override returns (string memory) {
|
|
318
|
-
return 'IL';
|
|
319
|
-
}
|
|
320
|
-
|
|
321
|
-
/**
|
|
322
|
-
* @dev Mints a new NFT to a specified address.
|
|
323
|
-
* @param to The address to mint the NFT to.
|
|
324
|
-
* @param tokenId The ID of the token to be minted.
|
|
325
|
-
* @dev Only the owner can call this function.
|
|
326
|
-
*/
|
|
327
|
-
function safeMint(address to, uint256 tokenId) public onlyOwner {
|
|
328
|
-
_safeMint(to, tokenId);
|
|
329
|
-
}
|
|
330
|
-
|
|
331
|
-
// The following functions are overrides required by Solidity.
|
|
332
|
-
// They ensure proper interaction with the inherited ERC721 and ERC721Enumerable contracts.
|
|
333
|
-
|
|
334
|
-
/**
|
|
335
|
-
* @dev Overrides the `_update` function to ensure proper token ownership updates.
|
|
336
|
-
* @param to The new owner of the token.
|
|
337
|
-
* @param tokenId The ID of the token.
|
|
338
|
-
* @param auth The authorized address for the transfer.
|
|
339
|
-
* @return The address of the previous owner.
|
|
340
|
-
*/
|
|
341
|
-
function _update(
|
|
342
|
-
address to,
|
|
343
|
-
uint256 tokenId,
|
|
344
|
-
address auth
|
|
345
|
-
) internal override(ERC721, ERC721Enumerable) returns (address) {
|
|
346
|
-
return super._update(to, tokenId, auth);
|
|
347
|
-
}
|
|
348
|
-
|
|
349
|
-
/**
|
|
350
|
-
* @dev Overrides the `_increaseBalance` function to ensure proper token balance updates.
|
|
351
|
-
* @param account The account to increase the balance of.
|
|
352
|
-
* @param value The amount to increase the balance by.
|
|
353
|
-
*/
|
|
354
|
-
function _increaseBalance(address account, uint128 value) internal override(ERC721, ERC721Enumerable) {
|
|
355
|
-
super._increaseBalance(account, value);
|
|
356
|
-
}
|
|
357
|
-
|
|
358
|
-
/**
|
|
359
|
-
* @dev Overrides the `supportsInterface` function to ensure proper interface checks.
|
|
360
|
-
* @param interfaceId The interface ID to check.
|
|
361
|
-
* @return True if the contract implements the interface, false otherwise.
|
|
362
|
-
*/
|
|
363
|
-
function supportsInterface(bytes4 interfaceId) public view override(ERC721, ERC721Enumerable) returns (bool) {
|
|
364
|
-
return super.supportsInterface(interfaceId);
|
|
365
|
-
}
|
|
366
|
-
}
|
|
367
|
-
```
|
|
368
|
-
|
|
369
|
-
**Understanding the ItemLedger Smart Contract**
|
|
370
|
-
|
|
371
|
-
This Solidity smart contract, named `ItemLedger`, implements an ERC721 token standard, specifically designed for managing unique items. It leverages several OpenZeppelin contracts to provide essential functionalities:
|
|
372
|
-
|
|
373
|
-
**Import Statements:**
|
|
374
|
-
|
|
375
|
-
- **ERC721:** The core ERC721 standard for non-fungible tokens.
|
|
376
|
-
- **ERC721Enumerable:** Extends ERC721 to allow enumerating all tokens and tokens owned by a specific owner.
|
|
377
|
-
- **ERC721Burnable:** Extends ERC721 to allow token holders to burn their tokens.
|
|
378
|
-
- **Ownable:** Provides ownership and access control mechanisms.
|
|
379
|
-
|
|
380
|
-
**Constructor:**
|
|
381
|
-
|
|
382
|
-
- **Initializes the contract:** Sets the token name and symbol.
|
|
383
|
-
- **Assigns ownership:** Grants ownership to the specified initial owner.
|
|
384
|
-
|
|
385
|
-
**Functions:**
|
|
386
|
-
|
|
387
|
-
- **\_baseURI():** Defines the base URI for token metadata. In this case, it's set to 'IL'.
|
|
388
|
-
- **safeMint(address to, uint256 tokenId):** Mints a new NFT to the specified address with the given token ID. Only the contract owner can call this function.
|
|
389
|
-
|
|
390
|
-
**Override Functions:**
|
|
391
|
-
|
|
392
|
-
The contract overrides several functions from the inherited contracts to ensure correct behavior:
|
|
393
|
-
|
|
394
|
-
- **\_update():** Updates token ownership information.
|
|
395
|
-
- **\_increaseBalance():** Updates the balance of a token owner.
|
|
396
|
-
- **supportsInterface():** Checks if the contract implements a specific interface.
|
|
397
|
-
|
|
398
|
-
**Key Points:**
|
|
399
|
-
|
|
400
|
-
- **Unique Items:** Each token represents a unique item, allowing for tracking ownership and provenance.
|
|
401
|
-
- **Ownership Control:** The `Ownable` contract ensures that only the designated owner can mint new NFTs.
|
|
402
|
-
- **Token Metadata:** The `_baseURI()` function sets the base URI for token metadata, which can be used to store additional information about each item.
|
|
403
|
-
- **Flexibility:** The `ERC721Enumerable` and `ERC721Burnable` features provide additional functionalities for managing and controlling NFTs.
|
|
404
|
-
|
|
405
|
-
This smart contract creates a flexible and secure platform for managing unique items. It can be used for various applications, such as digital collectibles, in-game items, or real-world asset tokenization.
|
|
406
|
-
|
|
407
|
-
<a name="header-4.3"/>
|
|
408
|
-
|
|
409
|
-
#### 4.3 Token distribution and Allocation
|
|
410
|
-
|
|
411
|
-
**Cryptokoyn.net (CKY)**
|
|
412
|
-
|
|
413
|
-
- **Total Supply:** 10,000,000 CKY
|
|
414
|
-
- **Initial Allocation:**
|
|
415
|
-
- **90% Airdrop and Mint Pool:** A significant portion will be allocated to an airdrop pool and a minting pool to distribute tokens to a wider audience.
|
|
416
|
-
- **10% Direct Investor Wallets:** Directly distributed to investor wallets proportionally to their financial participation.
|
|
417
|
-
|
|
418
|
-
**Itemledger.com (IL)**
|
|
419
|
-
|
|
420
|
-
- **Total Supply:** Variable, based on the number of unique in-game items created.
|
|
421
|
-
- **Distribution:**
|
|
422
|
-
- **In-Game Activities:** Players can earn IL tokens by completing specific quests, achievements, or participating in special events.
|
|
423
|
-
- **Crafting:** Players can craft unique items and mint corresponding IL tokens, adding to the overall supply.
|
|
424
|
-
- **Marketplace Trading:** IL tokens can be freely traded on NFT marketplaces, allowing players to acquire desired items or monetize their in-game achievements.
|
|
425
|
-
|
|
426
|
-
**Token Mechanics:**
|
|
427
|
-
|
|
428
|
-
- **Token Burning:** Only tokens held in the Coinbase address can be burned. This mechanism can be used to adjust the token supply and potentially increase token value.
|
|
429
|
-
- **Staking:**
|
|
430
|
-
- **Asset Freezing:** Staked assets are frozen, meaning they cannot be used for other purposes while they are staked.
|
|
431
|
-
- **Voting Rights:** The weight or influence of a vote is directly proportional to the amount of staked tokens and the duration of the staking period. This ensures that long-term commitment to the project is rewarded and that larger stakeholders have a greater say in the project's future.
|
|
432
|
-
|
|
433
|
-
This revised token distribution and allocation plan aims to provide a more balanced approach, considering both community engagement and investor interests. By incorporating airdrops, minting pools, and staking mechanisms, the project can foster a strong and active community while ensuring the long-term viability of the CKY token.
|
|
434
|
-
|
|
435
|
-
**Voting System Formula**
|
|
436
|
-
|
|
437
|
-
```
|
|
438
|
-
Vote Weight = 0.5 * (Amount Staked / Total Staked Amount) + 0.5 * (Staking Duration / Max Staking Duration)
|
|
439
|
-
```
|
|
440
|
-
|
|
441
|
-
**Explanation:**
|
|
442
|
-
|
|
443
|
-
- **Amount Staked:** The quantity of tokens a user has staked.
|
|
444
|
-
- **Total Staked Amount:** The total amount of tokens staked across all users.
|
|
445
|
-
- **Staking Duration:** The length of time for which the tokens are locked in staking.
|
|
446
|
-
- **Max Staking Duration:** The maximum allowable staking duration.
|
|
447
|
-
|
|
448
|
-
This formula ensures that both the amount of tokens staked and the duration of the staking period contribute equally to the voting weight. A user who stakes a larger amount of tokens for a longer period will have a higher voting weight.
|
|
449
|
-
|
|
450
|
-
**Item Incubation Time**
|
|
451
|
-
|
|
452
|
-
- **Variable Incubation:** The incubation time for an item earned in-game can vary based on its characteristics. For example, rarer or more powerful items might have longer incubation periods.
|
|
453
|
-
- **Active Time:** The incubation period is essentially the time the item is actively used or held within the game.
|
|
454
|
-
|
|
455
|
-
**Minting and NFT Conversion**
|
|
456
|
-
|
|
457
|
-
- **Earned In-Game Items:**
|
|
458
|
-
- **Incubation Period:** Before these items can be exchanged for CKY tokens, they must undergo an incubation period based on their specific characteristics. This period ensures that players have actively engaged with the game and utilized the items.
|
|
459
|
-
- **Dropped or Default Items:**
|
|
460
|
-
- **Incubation Period:** Farm, dropped, craft, and default items and must under go an incubation period before they can be converted into NFTs.
|
|
461
|
-
- **Minting Cost:** To convert these items into NFTs, players must pay a minting fee in CKY tokens.
|
|
462
|
-
|
|
463
|
-
The voting system, combined with the staking mechanism, can effectively track and reward active players. By requiring a certain amount of staked tokens and a minimum staking duration to participate in governance, the system ensures that only active and committed community members have a significant influence on decision-making.
|
|
464
|
-
|
|
465
|
-
By implementing an incubation period and a minting fee, the game can control the supply of NFTs and prevent players from immediately selling off their newly acquired items without contributing to the game's ecosystem.
|
|
466
|
-
|
|
467
|
-
<a name="header-4.5"/>
|
|
468
|
-
|
|
469
|
-
#### 4.5 Governance and Circulation
|
|
470
|
-
|
|
471
|
-
```mermaid
|
|
472
|
-
flowchart LR
|
|
473
|
-
|
|
474
|
-
subgraph Circulation["Circulation"]
|
|
475
|
-
|
|
476
|
-
Transformation["Transformation:<br> transactions<br> between players"]
|
|
477
|
-
|
|
478
|
-
subgraph Players["Cyberia Online<br>players"]
|
|
479
|
-
|
|
480
|
-
end
|
|
481
|
-
end
|
|
482
|
-
|
|
483
|
-
subgraph Governance-Runtime["Governance<br> Runtime Node <br> Server"]
|
|
484
|
-
subgraph Sync["<br> <br> <br> <br> <br> <br> <br> <br> <br>Sync drain <br> burning protocol"]
|
|
485
|
-
Stacking["Voting power"]
|
|
486
|
-
Unlock-Features["Unlock Features"]
|
|
487
|
-
subgraph Withdrawal["**Withdrawal Protocol** <br> Crypto to Fiat"]
|
|
488
|
-
end
|
|
489
|
-
end
|
|
490
|
-
|
|
491
|
-
subgraph Faucet["<br><br><br><br><br><br><br>Faucet <br>validation <br> emiter protocol"]
|
|
492
|
-
ERC-20["**Token emitter** <br> ERC-20 (CKY)"]
|
|
493
|
-
ERC-721["**Token emitter** <br> ERC-721 (IL)"]
|
|
494
|
-
Airdrop-Mint["Airdrop Mint <br> pool"]
|
|
495
|
-
end
|
|
496
|
-
subgraph Coinbase["Coinbase <br> address"]
|
|
497
|
-
end
|
|
498
|
-
|
|
499
|
-
end
|
|
500
|
-
|
|
501
|
-
Black-Market-Sales["External Markets <br>Sales"]
|
|
502
|
-
Burn["Burn"]
|
|
503
|
-
|
|
504
|
-
subgraph Legends["<span style='color: yellow'>→ Virtual Currency/Items </span> <br> <span style='color: green'>→ Fiat</span>"]
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
end
|
|
508
|
-
|
|
509
|
-
Investors ==> Coinbase
|
|
510
|
-
ERC-20 ==> Airdrop-Mint
|
|
511
|
-
Players ==> |Stacking|Stacking
|
|
512
|
-
Players ==> |Buy <br> Consumption|Unlock-Features
|
|
513
|
-
Players <==> Black-Market-Sales
|
|
514
|
-
Players <==> Transformation
|
|
515
|
-
Sync ==> Burn
|
|
516
|
-
Coinbase==>|ICO|ERC-20
|
|
517
|
-
Withdrawal==>|Sell<br>withdrawal<br>|Players
|
|
518
|
-
Players==>Withdrawal
|
|
519
|
-
Coinbase=======>|Liquidity Pool|Withdrawal
|
|
520
|
-
Sync==>|Supply renewal|Airdrop-Mint
|
|
521
|
-
Players==>Unlock-Features
|
|
522
|
-
ERC-721==>Airdrop-Mint
|
|
523
|
-
Airdrop-Mint<==>Players
|
|
524
|
-
Airdrop-Mint==>|ICO|Investors
|
|
525
|
-
Investors==>Players
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
%% style Governance-Runtime padding:40px,margin:40px,stroke:#333,stroke-width:4pxline-height:60px
|
|
530
|
-
|
|
531
|
-
linkStyle 0 font-size: 25px, color: black, back: white,stroke: green;
|
|
532
|
-
linkStyle 1 font-size: 25px, color: black, back: white,stroke: yellow;
|
|
533
|
-
linkStyle 2 font-size: 25px, color: black, back: white,stroke: yellow;
|
|
534
|
-
linkStyle 3 font-size: 25px, color: black, back: white,stroke: yellow;
|
|
535
|
-
linkStyle 4 font-size: 25px, color: black, back: white,stroke: green;
|
|
536
|
-
linkStyle 5 font-size: 25px, color: black, back: white,stroke: yellow;
|
|
537
|
-
linkStyle 6 font-size: 25px, color: black, back: white,stroke: yellow;
|
|
538
|
-
linkStyle 7 font-size: 25px, color: black, back: white,stroke: yellow;
|
|
539
|
-
linkStyle 8 font-size: 25px, color: black, back: white,stroke: green;
|
|
540
|
-
linkStyle 9 font-size: 25px, color: black, back: white,stroke: yellow;
|
|
541
|
-
linkStyle 10 font-size: 25px, color: black, back: white,stroke: green;
|
|
542
|
-
linkStyle 11 font-size: 25px, color: black, back: white,stroke: yellow;
|
|
543
|
-
linkStyle 12 font-size: 25px, color: black, back: white,stroke: green;
|
|
544
|
-
linkStyle 13 font-size: 25px, color: black, back: white,stroke: yellow;
|
|
545
|
-
linkStyle 14 font-size: 25px, color: black, back: white,stroke: yellow;
|
|
546
|
-
linkStyle 15 font-size: 25px, color: black, back: white,stroke: yellow;
|
|
547
|
-
linkStyle 16 font-size: 25px, color: black, back: white,stroke: yellow;
|
|
548
|
-
|
|
549
|
-
classDef H1 font-size: 40px, pxline-height:10px;
|
|
550
|
-
classDef H2 font-size: 30px;
|
|
551
|
-
classDef H3 font-size: 25px;
|
|
552
|
-
|
|
553
|
-
classDef SR fill: gray, color: black;
|
|
554
|
-
classDef SR0 fill:#222222;
|
|
555
|
-
classDef SR1 height: 500px;
|
|
556
|
-
|
|
557
|
-
class Players H1;
|
|
558
|
-
class Players SR;
|
|
559
|
-
|
|
560
|
-
class Withdrawal H3;
|
|
561
|
-
class Legends H3;
|
|
562
|
-
class Governance-Runtime H2;
|
|
563
|
-
class Circulation H2;
|
|
564
|
-
class Circulation SR0;
|
|
565
|
-
class Coinbase H1;
|
|
566
|
-
class Faucet H2;
|
|
567
|
-
class Faucet SR1;
|
|
568
|
-
class ERC-20 H3;
|
|
569
|
-
class ERC-721 H3;
|
|
570
|
-
class Sync H2;
|
|
571
|
-
class Sync SR1;
|
|
572
|
-
class Stacking H3;
|
|
573
|
-
class Burn H3;
|
|
574
|
-
class Stackin H3;
|
|
575
|
-
class Unlock-Features H3;
|
|
576
|
-
class Black-Market-Sales H3;
|
|
577
|
-
class Transformation H3;
|
|
578
|
-
class Investors H2;
|
|
579
|
-
class Airdrop-Mint H1;
|
|
580
|
-
|
|
581
|
-
```
|