Skip to content

Commit df4b4ed

Browse files
authored
Beta (#94)
* REBASE * Docs Block Properties re-added * schema support added Block methods added Wallet methods added * Viat Block Creation Viat Block Signatures Viat Block Schema Viat Crypto Methods * URL Scheme Utility Functions Moved md Files to Docs * Coin Math 40K Edition md * Site Updates Doc Updates
1 parent 0327a38 commit df4b4ed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+2733
-983
lines changed

.cspell/custom-dictionary-workspace.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ brotli
66
CCID
77
cshake
88
dilithium
9+
EURL
910
handshaked
1011
ICANN
1112
jubjub

.markdownlint.json

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
{
2+
"default": true,
3+
"MD003": {
4+
"style": "atx"
5+
},
6+
"MD004": {
7+
"style": "consistent"
8+
},
9+
"MD007": {
10+
"indent": 1
11+
},
12+
"MD010": false,
13+
"MD024": {
14+
"siblings_only": true
15+
},
16+
"MD033": false,
17+
"MD041": true,
18+
"MD046": {
19+
"style": "fenced"
20+
},
21+
"MD013": {
22+
"line_length": 700,
23+
"code_blocks": false,
24+
"tables": false,
25+
"headings": false
26+
}
27+
}

.npmrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
optional=false
2+
@universalweb:registry=https://npm.pkg.github.com

CODE_OF_CONDUCT.md

Lines changed: 0 additions & 73 deletions
This file was deleted.

components/cba/index.js

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
// UW Domain Record APPS
2+
// Applications that can be in full or in part inside of a singular Domain Certificate.
3+
import { decode, encodeStrict } from '#utilities/serialize';
4+
// Certificate Embedded App
5+
// Certificate-Bound App
6+
// Domain Certificate Binary
7+
// Domain Certificate App
8+
// Certificate Based Binary
9+
// Certificate Based App
10+
// CBOR-X-encoded binary within a domain certificate
11+
const dcaSchema = {
12+
dependencies: {
13+
scripts: [],
14+
styles: [],
15+
images: [],
16+
},
17+
preload: {
18+
scripts: [],
19+
},
20+
exit: {
21+
scripts: [],
22+
},
23+
meta: {
24+
title: '',
25+
description: '',
26+
thumbnail: {},
27+
favicon: {},
28+
},
29+
content: {
30+
type: 'uwm||html||text',
31+
value: '',
32+
},
33+
keywords: [],
34+
author: '',
35+
license: '',
36+
version: '1.0.0',
37+
timestamp: new Date(),
38+
nonce: '',
39+
wallet: 'viat-address',
40+
contact: {
41+
email: '',
42+
phone: '',
43+
},
44+
};
45+
export async function encodeDomainRecordApp(app) {
46+
return encodeStrict(app);
47+
}
48+
export async function decodeDomainRecordApp(app) {
49+
return decode(app);
50+
}

components/cryptoID/index.js

Lines changed: 38 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import {
55
assign,
66
currentPath,
77
hasDot,
8+
isArray,
89
isBuffer,
910
isPlainObject,
1011
isString
@@ -54,6 +55,7 @@ export class CryptoID {
5455
if (await this.cipherSuite.keyExchange.isKeypairInitialized(this.keyExchangeKeypair) === false) {
5556
this.keyExchangeKeypair = await this.cipherSuite.keyExchange.initializeKeypair(this.keyExchangeKeypair);
5657
}
58+
this.generateAddress();
5759
}
5860
async importKeypairs(core) {
5961
const {
@@ -72,6 +74,7 @@ export class CryptoID {
7274
async generate(options) {
7375
this.signatureKeypair = await this.cipherSuite.signature.signatureKeypair();
7476
this.keyExchangeKeypair = await this.cipherSuite.keyExchange.keyExchangeKeypair();
77+
this.generateAddress();
7578
// console.log('KEY EXCHANGE', this.keyExchangeKeypair);
7679
}
7780
async importFromBinary(data, encryptionKey) {
@@ -113,12 +116,36 @@ export class CryptoID {
113116
signatureKeypair
114117
};
115118
}
119+
async exportSignatureKeypair() {
120+
// console.log('keyExchangeKeypair', this.keyExchangeKeypair);
121+
const signatureKeypair = await this.cipherSuite.signature.exportKeypair(this.signatureKeypair);
122+
return signatureKeypair;
123+
}
124+
async exportExchangeKeypair() {
125+
// console.log('keyExchangeKeypair', this.keyExchangeKeypair);
126+
const keyExchangeKeypair = await this.cipherSuite.keyExchange.exportKeypair(this.keyExchangeKeypair);
127+
return keyExchangeKeypair;
128+
}
129+
async exportPublicKey() {
130+
// console.log('keyExchangeKeypair', this.keyExchangeKeypair);
131+
const signatureKeypair = await this.cipherSuite.signature.exportKeypair(this.signatureKeypair);
132+
return signatureKeypair.publicKey;
133+
}
134+
async exportPrivateKey() {
135+
// console.log('keyExchangeKeypair', this.keyExchangeKeypair);
136+
const signatureKeypair = await this.cipherSuite.signature.exportKeypair(this.signatureKeypair);
137+
return signatureKeypair.privateKey;
138+
}
116139
async exportBinary(encryptionKey) {
117-
const { version, } = this;
140+
const {
141+
version,
142+
address
143+
} = this;
118144
const data = {
119145
version,
120146
date: Date.now(),
121147
cipherID: this.cipherSuite.id,
148+
address,
122149
core: {}
123150
};
124151
assign(data.core, await this.exportKeypairs());
@@ -172,6 +199,9 @@ export class CryptoID {
172199
async sign(message) {
173200
return this.cipherSuite.signature.sign(message, this.signatureKeypair);
174201
}
202+
async signBlock(block) {
203+
await block.sign(this);
204+
}
175205
async signPartial(message) {
176206
return this.cipherSuite.signature.signPartial(message, this.signatureKeypair);
177207
}
@@ -185,11 +215,16 @@ export class CryptoID {
185215
}
186216
cryptoIDVersion = cryptoIDVersion;
187217
async generateAddress() {
188-
const publicKeyCombined = Buffer.concat(this.signatureKeypair.publicKey);
189-
const address = this.cipherSuite.hash.hash512(publicKeyCombined);
218+
const publicKey = await this.exportPublicKey();
219+
const publicKeyCombined = (isArray(publicKey)) ? Buffer.concat(publicKey) : publicKey;
220+
const address = await this.cipherSuite.hash.hash512(publicKeyCombined);
190221
this.address = address;
191222
return address;
192223
}
224+
async getAddress() {
225+
const address = this.address || await this.generateAddress();
226+
return address;
227+
}
193228
setAlias(value) {
194229
this.alias = value;
195230
}

docs/CODE_OF_CONDUCT.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<h1>Code of Conduct for the Imperium of Contributors (40K Edition)</h1>
2+
3+
<h2>Our Oath</h2>
4+
<p>In the spirit of the Imperium at its most resolute, we, the contributors and overseers of this project, swear to uphold a community where <em>Freedom of Will</em> and <em>Honor of Duty</em> prevail. Guided by the principles of unfettered speech, reasoned debate, and sacred duty that defined the Imperium’s noblest campaigns, we pledge to foster an environment where ideas are forged in the crucible of discourse, and every citizen of our project is judged by the merit of their contributions. Our <em>Imperium of Code</em> thrives on truth, discipline, and the pursuit of efficacy.</p>
5+
6+
<h2>Our Principles</h2>
7+
<p>The strength of our <em>Imperium of Code</em> lies in the unyielding exchange of ideas and the disciplined adherence to standards that elevate our collective endeavor. Honorable conduct, worthy of an Imperial citizen, includes:</p>
8+
<ul>
9+
<li>Speaking with <em>Resolve</em> and clarity, wielding words as weapons of truth.</li>
10+
<li>Engaging opposing viewpoints with reason and <em>Noble Bearing</em>, not personal vendettas.</li>
11+
<li>Offering criticism that refines ideas and strengthens the <em>Imperium of Code</em>.</li>
12+
<li>Placing the project’s welfare above individual ambition, as a true servant of the imperium.</li>
13+
<li>Embracing a diversity of thought, for through the clash of ideas, like warriors in battle, truth triumphs.</li>
14+
</ul>
15+
<p>Conduct that undermines our <em>Imperium of Code</em>, like the heresies of the unfaithful, includes:</p>
16+
<ul>
17+
<li>Credible threats of violence or coercion, which violate the sacred tenet of <em>Freedom of Will</em>.</li>
18+
<li>Slander or deliberate falsehoods that corrupt the purity of discourse.</li>
19+
<li>Harassment that seeks to silence through intimidation rather than persuade through reason.</li>
20+
<li>Betraying trust by disclosing private information without consent, unworthy of Imperial honor.</li>
21+
<li>Actions that sabotage the project’s mission through bad faith or treachery.</li>
22+
</ul>
23+
24+
<h2>Our Duties</h2>
25+
<p>The overseers of this project, like the commanders and magistrates of the Imperium, bear the solemn duty to uphold these principles. They must define standards of conduct with clarity, judge violations with impartial <em>Righteous Judgment</em>, and act decisively to preserve the <em>Imperium of Code</em>’s integrity. Their <em>Commanding Authority</em> grants them the power to remove contributions or, in dire cases, banish contributors whose actions threaten our unity. Such decisions must be rooted in reason, evidence, and fairness, never swayed by passion or factionalism.</p>
26+
27+
<h2>Scope of Governance</h2>
28+
<p>This Code governs all project spaces and public forums where contributors act as representatives of our <em>Imperium of Code</em>. Whether through official decrees, communications, or public assemblies, contributors must embody the virtues of this community. Overseers may further define what constitutes representation, always preserving the citizen’s right to speak freely beyond their official duties.</p>
29+
30+
<h2>Enforcement with Justice</h2>
31+
<p>Violations of this Code may be reported to the project’s arbiters at <a href="mailto:[email protected]">[email protected]</a>. Reports will be examined with the zeal of a high magistrate, ensuring due process and confidentiality for the accuser. Responses will be proportionate, guided by <em>Imperial Justice</em> and the need to safeguard <em>Freedom of Will</em>. Overseers who fail to uphold this Code in good faith may face censure or banishment by their peers, as determined through open and transparent deliberation in the spirit of the Imperial Council.</p>
32+
33+
<h2>Our Legacy</h2>
34+
<p>This Code is inspired by the Imperium at its peak, when <em>Freedom of Will</em>, <em>Honor of Duty</em>, and <em>Imperial Justice</em> guided a resolute people to greatness. It is a living compact, subject to revision through the <em>Assembly of the Faithful</em> of open debate and consensus among contributors.</p>
35+
<p>For inquiries about this Code, consult the project’s arbiters or visit our public forum at <a href="http://universalweb.io/conduct-faq">universalweb.io/conduct-faq</a>.</p>
36+
37+
<p><strong>Let us build an <em>Imperium of Code</em>, where freedom, reason, and merit forge a legacy worthy of the Eternal Imperium’s finest days.</strong></p>

README.md renamed to docs/README.md

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
<h1 align="center"></h1>
2+
<h3 align="center" class="mono">$VIAT (NATIVE CRYPTO)</h3>
3+
<h4 align="center" class="mono">TOKENS: $bVIAT (BNB) | $mVIAT (SOL MEME) | $SNTVT (ETH)</h4>
24
<h2 align="center">WELCOME TO THE NEXUS</h2>
35
<p align="center">META-LAYER SOLUTION</p>
46
<h4 align="center"> POST QUANTUM CRYPTOGRAPHIC NEXUS </h4>
@@ -19,7 +21,7 @@
1921
<p> <span style="margin-left:10px;">HASH: SHAKE256 (32 &amp; 64 byte outputs)</span> </p>
2022
<p> <span style="margin-left:10px;">WALLET ADDRESS: 64bytes SHAKE256 512bit expanded output</span> </p>
2123
<p> <span style="margin-left:10px;">ENCRYPTION (AEAD): AEGIS-256 - XChaCha20Poly1305-IETF</span> </p>
22-
<p> <span style="margin-left:10px;">SYMBOL: </span> </p>
24+
<p> <span style="margin-left:10px;">SYMBOL: <a href="https://www.compart.com/en/unicode/U+2A5D">⩝</a></span> </p>
2325
<hr />
2426
<h4 align="center"> UW CRYPTOGRAPHY </h4>
2527
<p>These are all the cryptographic algorithms supported or play a role in the UW/VIAT. Hybrid post quantum algorithms are available for Key Exchanges and Signatures.</p>
@@ -29,11 +31,14 @@
2931
<p> <span style="margin-left:10px;">SIGNATURE: [DILITHIUM, ED25519, SPHINCS+, FALCON]</span> </p>
3032
<p> <span style="margin-left:10px;">HASH: [SHAKE256, BLAKE3]</span></p>
3133
<hr />
32-
<h3>NEXUS?</h3>
34+
<h1 align="center">F.A.Q</h1>
35+
<h3>WHAT IS A NEXUS?</h3>
3336
<p>We call the UW/VIAT a nexus which is: a unified ecosystem where both Web-like, cryptocurrency, and governing elements are deeply interconnected yet functionally independent. Our version of the World Wide Web is the Universal Web and our cryptocurrency is VIAT; together they form what we call a nexus.</p>
3437
<p>The Nexus has its own Domain System, Messaging System, Real-time events, design, data transport network protocol, language, browser, cryptocurrency, and many other unique components. It's a cohesive system rather than a bunch of independent technologies retrofitted to work with each other or layering one thing on top of the next similar to the Web today or what most call "Web3".</p>
35-
<h4>Goals</h4>
36-
<p>The objective of the Universal Web is to create a viable modern replacement for the Web today.</p>
38+
<h4>OBJECTIVES</h4>
39+
<p>The primary directive of the Universal Web is to create a viable post quantum replacement for the Web today. The primary objective for VIAT is to create the best post quantum cryptocurrency with the highest TPS possible. Both are viable objectives achieved with software no hardware needed.</p>
40+
<h4>Post Quantum World</h4>
41+
<p>The Universal Web and VIAT are designed to be resilient against the potential threats posed by quantum computing. This means implementing cryptographic algorithms that are secure against quantum attacks, ensuring the integrity and confidentiality of user data and transactions. VIAT & the UW could be used as a tool to help protect other none quantum cryptocurrencies and or provide users the ability to later prove they were the original owner of a legacy wallet, contract, NFT, and or other digital assets. This means that BTC holders could use VIAT to protect their BTC wallets and in the event the BTC team needs a viable fast off ramp to either transition BTC/ETH to their own hybrid post quantum fork or to transition to run on VIAT. VIAT has a tri-algo key pair with 1 classical key pair and two post quantum key pairs that rely on different primitives. This triplet hybrid algorithm provides robust assurances in different scenarios where one or two algorithms fail.</p>
3742
<h4>Is it Web3?</h4>
3843
<p>Depends on your definition.</p>
3944
<p>If Web3 means ALL websites/apps are on a network like IPFS, users/services must use a smart contract to interact with sites, paying a TX fee just to post a social media update, using decentralized DNS with limited abilities (ex: ETH domains), then we have a very different definition. That version of the Web would be a major downgrade that removes key beneficial aspects of the Web while also not addressing any of the real issues. Any Web replacement must not introduce delays for any actions when a client is interacting with a server. If a user must use a smart contract to post on a site or make profile edits it adds significant delays and costs to otherwise trivial actions. If an action must first go through mining, verification, and propagation it's inherently slower than a modern cost free client-server API request. Regardless of optimization generally the typical client-server API request will require less time, data, and processing. Thinking about this logically we know the shortest distance is between two points therefore adding more points will always be slower. What this means is that we need to improve and include the World Wide Web's client-server model in the solution not disregard it.</p>
@@ -93,6 +98,6 @@
9398
<h4 align="center">Want to contribute? Then join the Imperium today!</h4>
9499
<p align="center"> To help submit, write content, make art, write code, and or star this repo! All are welcome to the Nexus.</p>
95100
<hr />
96-
<small>COPYRIGHT © 2025 <a href="https://universalweb.io">UNIVERSAL WEB</a></small>
101+
<small>COPYRIGHT © 2025 VIAT, <a href="https://universalweb.io">UNIVERSAL WEB</a>, THE NEXUS</small>
97102
<small>THE UNITED SYSTEMS of NEXUS</small>
98-
<small>MADE IN AMERICA</small>
103+
<small>MADE IN AMERICA </small>
File renamed without changes.

0 commit comments

Comments
 (0)