Skip to content

Repository files navigation

Apollo Web Crypto

Disclaimer.

Apollo team is actively working on modularity of Apollo blockchain so build scripts and source structure is subject of changes. Apollo project consists of several modules written in different programming languages. If you are not an expert in Java and Maven, JavaScript, NodeJs, npm, yarn, C/C++ and Cmakle please use our release builds at Apollo Releases page.

If you feel like an expert, please use build instructions below. But also please note that instructions may be slightly outdated, especially in "development" branches of the Apollo project repositories.

Apollo is being developed by the Apollo Foundation and supporting members of the community.

This repository contains NPM module implementation of main crypto functions.

There are other components that are parts of Apollo:

  1. Apollo: Core classes of Apollo blockchain platform and main executable of Apollo-blockchain component.
  2. Apollo-web-ui: Web wallet UI that is served by Apollo blockchain node and can be accersed by browser at http://localhost:7876
  3. Apollo-dektop: Desktop wallet UI. Apollo-web-ui must be installed tobe able to run Apollo desktop wallet.
  4. Apollo-tools: "swiss knife" of tools for node maintenance, transaction signing, etc.
  5. Apollo-bom-ext: This module required in compilation time oly. It contains BOM of all external libraries used by Apollo components.

Requirements

The latest NodeJS LTS version is required to develop and build Apollo Web Crypto. It could be downloaded from NodeJS official site. For developers (Linux, OS X)Node Version Manager is highly recommended. If you use Windows OS, please consider trying Node Version Manager (nvm) for Windows.

Yarn is the build tool for Apollo-web-crypto. To install yarn, please run following command in a terminal window:

npm install -g yarn

Building

Firstly you need to generate api help folder. It is based on .yaml file in the main Apollo backend repository.

yarn install

For build of that module:

yarn build

Formatting and Linting

We are using Prettier and TsLint!

yarn lint
yarn format

Tests (with Jest)

In the src folder, we have folder called __tests__. Add a new file with a name you like, but it has to end with test.ts, for example FBCrypto.test.ts

Run tests:

yarn test

Bumping a new npm package version

Let’s bump a new patch version of the package:

npm version patch

Our preversion, version, and postversion will run, create a new tag in git and push it to our remote repository. Now publish:

npm publish --access=public

And now you have a new version.

Implementation

Reed-Solomon Encryption

To use the Reed-Solomon encryption, the corresponding cryptographic module can be used. To set it up, the following steps should be taken:

  1. Import Reed-Solomon encryption functions from the initial code: import {processAccountIDtoRS, processAccountRStoID} from 'apl-web-crypto';

  2. Usage: const accountRS = processAccountIDtoRS(accountID), where accountID is user's account id. This function will return account RS value like APL-XXXX-XXXX-XXXX-XXXXX

    const accountID = processAccountRStoID(accountRS), where accountRS is user's account like APL-XXXX-XXXX-XXXX-XXXXX. This function will return account id.

About

Apollo web crypto modules

Resources

Stars

1 star

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
GitHub - ApolloFoundation/Apollo-web-crypto: Apollo web crypto modules · GitHub
Skip to content

Repository files navigation

Apollo Web Crypto

Disclaimer.

Apollo team is actively working on modularity of Apollo blockchain so build scripts and source structure is subject of changes. Apollo project consists of several modules written in different programming languages. If you are not an expert in Java and Maven, JavaScript, NodeJs, npm, yarn, C/C++ and Cmakle please use our release builds at Apollo Releases page.

If you feel like an expert, please use build instructions below. But also please note that instructions may be slightly outdated, especially in "development" branches of the Apollo project repositories.

Apollo is being developed by the Apollo Foundation and supporting members of the community.

This repository contains NPM module implementation of main crypto functions.

There are other components that are parts of Apollo:

  1. Apollo: Core classes of Apollo blockchain platform and main executable of Apollo-blockchain component.
  2. Apollo-web-ui: Web wallet UI that is served by Apollo blockchain node and can be accersed by browser at http://localhost:7876
  3. Apollo-dektop: Desktop wallet UI. Apollo-web-ui must be installed tobe able to run Apollo desktop wallet.
  4. Apollo-tools: "swiss knife" of tools for node maintenance, transaction signing, etc.
  5. Apollo-bom-ext: This module required in compilation time oly. It contains BOM of all external libraries used by Apollo components.

Requirements

The latest NodeJS LTS version is required to develop and build Apollo Web Crypto. It could be downloaded from NodeJS official site. For developers (Linux, OS X)Node Version Manager is highly recommended. If you use Windows OS, please consider trying Node Version Manager (nvm) for Windows.

Yarn is the build tool for Apollo-web-crypto. To install yarn, please run following command in a terminal window:

npm install -g yarn

Building

Firstly you need to generate api help folder. It is based on .yaml file in the main Apollo backend repository.

yarn install

For build of that module:

yarn build

Formatting and Linting

We are using Prettier and TsLint!

yarn lint
yarn format

Tests (with Jest)

In the src folder, we have folder called __tests__. Add a new file with a name you like, but it has to end with test.ts, for example FBCrypto.test.ts

Run tests:

yarn test

Bumping a new npm package version

Let’s bump a new patch version of the package:

npm version patch

Our preversion, version, and postversion will run, create a new tag in git and push it to our remote repository. Now publish:

npm publish --access=public

And now you have a new version.

Implementation

Reed-Solomon Encryption

To use the Reed-Solomon encryption, the corresponding cryptographic module can be used. To set it up, the following steps should be taken:

  1. Import Reed-Solomon encryption functions from the initial code: import {processAccountIDtoRS, processAccountRStoID} from 'apl-web-crypto';

  2. Usage: const accountRS = processAccountIDtoRS(accountID), where accountID is user's account id. This function will return account RS value like APL-XXXX-XXXX-XXXX-XXXXX

    const accountID = processAccountRStoID(accountRS), where accountRS is user's account like APL-XXXX-XXXX-XXXX-XXXXX. This function will return account id.

About

Apollo web crypto modules

Resources

Stars

1 star

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - ApolloFoundation/Apollo-web-crypto: Apollo web crypto modules · GitHub
Skip to content

Repository files navigation

Apollo Web Crypto

Disclaimer.

Apollo team is actively working on modularity of Apollo blockchain so build scripts and source structure is subject of changes. Apollo project consists of several modules written in different programming languages. If you are not an expert in Java and Maven, JavaScript, NodeJs, npm, yarn, C/C++ and Cmakle please use our release builds at Apollo Releases page.

If you feel like an expert, please use build instructions below. But also please note that instructions may be slightly outdated, especially in "development" branches of the Apollo project repositories.

Apollo is being developed by the Apollo Foundation and supporting members of the community.

This repository contains NPM module implementation of main crypto functions.

There are other components that are parts of Apollo:

  1. Apollo: Core classes of Apollo blockchain platform and main executable of Apollo-blockchain component.
  2. Apollo-web-ui: Web wallet UI that is served by Apollo blockchain node and can be accersed by browser at http://localhost:7876
  3. Apollo-dektop: Desktop wallet UI. Apollo-web-ui must be installed tobe able to run Apollo desktop wallet.
  4. Apollo-tools: "swiss knife" of tools for node maintenance, transaction signing, etc.
  5. Apollo-bom-ext: This module required in compilation time oly. It contains BOM of all external libraries used by Apollo components.

Requirements

The latest NodeJS LTS version is required to develop and build Apollo Web Crypto. It could be downloaded from NodeJS official site. For developers (Linux, OS X)Node Version Manager is highly recommended. If you use Windows OS, please consider trying Node Version Manager (nvm) for Windows.

Yarn is the build tool for Apollo-web-crypto. To install yarn, please run following command in a terminal window:

npm install -g yarn

Building

Firstly you need to generate api help folder. It is based on .yaml file in the main Apollo backend repository.

yarn install

For build of that module:

yarn build

Formatting and Linting

We are using Prettier and TsLint!

yarn lint
yarn format

Tests (with Jest)

In the src folder, we have folder called __tests__. Add a new file with a name you like, but it has to end with test.ts, for example FBCrypto.test.ts

Run tests:

yarn test

Bumping a new npm package version

Let’s bump a new patch version of the package:

npm version patch

Our preversion, version, and postversion will run, create a new tag in git and push it to our remote repository. Now publish:

npm publish --access=public

And now you have a new version.

Implementation

Reed-Solomon Encryption

To use the Reed-Solomon encryption, the corresponding cryptographic module can be used. To set it up, the following steps should be taken:

  1. Import Reed-Solomon encryption functions from the initial code: import {processAccountIDtoRS, processAccountRStoID} from 'apl-web-crypto';

  2. Usage: const accountRS = processAccountIDtoRS(accountID), where accountID is user's account id. This function will return account RS value like APL-XXXX-XXXX-XXXX-XXXXX

    const accountID = processAccountRStoID(accountRS), where accountRS is user's account like APL-XXXX-XXXX-XXXX-XXXXX. This function will return account id.

About

Apollo web crypto modules

Resources

Stars

1 star

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - ApolloFoundation/Apollo-web-crypto: Apollo web crypto modules · GitHub
Skip to content

Repository files navigation

Apollo Web Crypto

Disclaimer.

Apollo team is actively working on modularity of Apollo blockchain so build scripts and source structure is subject of changes. Apollo project consists of several modules written in different programming languages. If you are not an expert in Java and Maven, JavaScript, NodeJs, npm, yarn, C/C++ and Cmakle please use our release builds at Apollo Releases page.

If you feel like an expert, please use build instructions below. But also please note that instructions may be slightly outdated, especially in "development" branches of the Apollo project repositories.

Apollo is being developed by the Apollo Foundation and supporting members of the community.

This repository contains NPM module implementation of main crypto functions.

There are other components that are parts of Apollo:

  1. Apollo: Core classes of Apollo blockchain platform and main executable of Apollo-blockchain component.
  2. Apollo-web-ui: Web wallet UI that is served by Apollo blockchain node and can be accersed by browser at http://localhost:7876
  3. Apollo-dektop: Desktop wallet UI. Apollo-web-ui must be installed tobe able to run Apollo desktop wallet.
  4. Apollo-tools: "swiss knife" of tools for node maintenance, transaction signing, etc.
  5. Apollo-bom-ext: This module required in compilation time oly. It contains BOM of all external libraries used by Apollo components.

Requirements

The latest NodeJS LTS version is required to develop and build Apollo Web Crypto. It could be downloaded from NodeJS official site. For developers (Linux, OS X)Node Version Manager is highly recommended. If you use Windows OS, please consider trying Node Version Manager (nvm) for Windows.

Yarn is the build tool for Apollo-web-crypto. To install yarn, please run following command in a terminal window:

npm install -g yarn

Building

Firstly you need to generate api help folder. It is based on .yaml file in the main Apollo backend repository.

yarn install

For build of that module:

yarn build

Formatting and Linting

We are using Prettier and TsLint!

yarn lint
yarn format

Tests (with Jest)

In the src folder, we have folder called __tests__. Add a new file with a name you like, but it has to end with test.ts, for example FBCrypto.test.ts

Run tests:

yarn test

Bumping a new npm package version

Let’s bump a new patch version of the package:

npm version patch

Our preversion, version, and postversion will run, create a new tag in git and push it to our remote repository. Now publish:

npm publish --access=public

And now you have a new version.

Implementation

Reed-Solomon Encryption

To use the Reed-Solomon encryption, the corresponding cryptographic module can be used. To set it up, the following steps should be taken:

  1. Import Reed-Solomon encryption functions from the initial code: import {processAccountIDtoRS, processAccountRStoID} from 'apl-web-crypto';

  2. Usage: const accountRS = processAccountIDtoRS(accountID), where accountID is user's account id. This function will return account RS value like APL-XXXX-XXXX-XXXX-XXXXX

    const accountID = processAccountRStoID(accountRS), where accountRS is user's account like APL-XXXX-XXXX-XXXX-XXXXX. This function will return account id.

About

Apollo web crypto modules

Resources

Stars

1 star

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' GitHub - ApolloFoundation/Apollo-web-crypto: Apollo web crypto modules · GitHub
Skip to content

Repository files navigation

Apollo Web Crypto

Disclaimer.

Apollo team is actively working on modularity of Apollo blockchain so build scripts and source structure is subject of changes. Apollo project consists of several modules written in different programming languages. If you are not an expert in Java and Maven, JavaScript, NodeJs, npm, yarn, C/C++ and Cmakle please use our release builds at Apollo Releases page.

If you feel like an expert, please use build instructions below. But also please note that instructions may be slightly outdated, especially in "development" branches of the Apollo project repositories.

Apollo is being developed by the Apollo Foundation and supporting members of the community.

This repository contains NPM module implementation of main crypto functions.

There are other components that are parts of Apollo:

  1. Apollo: Core classes of Apollo blockchain platform and main executable of Apollo-blockchain component.
  2. Apollo-web-ui: Web wallet UI that is served by Apollo blockchain node and can be accersed by browser at http://localhost:7876
  3. Apollo-dektop: Desktop wallet UI. Apollo-web-ui must be installed tobe able to run Apollo desktop wallet.
  4. Apollo-tools: "swiss knife" of tools for node maintenance, transaction signing, etc.
  5. Apollo-bom-ext: This module required in compilation time oly. It contains BOM of all external libraries used by Apollo components.

Requirements

The latest NodeJS LTS version is required to develop and build Apollo Web Crypto. It could be downloaded from NodeJS official site. For developers (Linux, OS X)Node Version Manager is highly recommended. If you use Windows OS, please consider trying Node Version Manager (nvm) for Windows.

Yarn is the build tool for Apollo-web-crypto. To install yarn, please run following command in a terminal window:

npm install -g yarn

Building

Firstly you need to generate api help folder. It is based on .yaml file in the main Apollo backend repository.

yarn install

For build of that module:

yarn build

Formatting and Linting

We are using Prettier and TsLint!

yarn lint
yarn format

Tests (with Jest)

In the src folder, we have folder called __tests__. Add a new file with a name you like, but it has to end with test.ts, for example FBCrypto.test.ts

Run tests:

yarn test

Bumping a new npm package version

Let’s bump a new patch version of the package:

npm version patch

Our preversion, version, and postversion will run, create a new tag in git and push it to our remote repository. Now publish:

npm publish --access=public

And now you have a new version.

Implementation

Reed-Solomon Encryption

To use the Reed-Solomon encryption, the corresponding cryptographic module can be used. To set it up, the following steps should be taken:

  1. Import Reed-Solomon encryption functions from the initial code: import {processAccountIDtoRS, processAccountRStoID} from 'apl-web-crypto';

  2. Usage: const accountRS = processAccountIDtoRS(accountID), where accountID is user's account id. This function will return account RS value like APL-XXXX-XXXX-XXXX-XXXXX

    const accountID = processAccountRStoID(accountRS), where accountRS is user's account like APL-XXXX-XXXX-XXXX-XXXXX. This function will return account id.

About

Apollo web crypto modules

Resources

Stars

1 star

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - ApolloFoundation/Apollo-web-crypto: Apollo web crypto modules · GitHub
Skip to content

Repository files navigation

Apollo Web Crypto

Disclaimer.

Apollo team is actively working on modularity of Apollo blockchain so build scripts and source structure is subject of changes. Apollo project consists of several modules written in different programming languages. If you are not an expert in Java and Maven, JavaScript, NodeJs, npm, yarn, C/C++ and Cmakle please use our release builds at Apollo Releases page.

If you feel like an expert, please use build instructions below. But also please note that instructions may be slightly outdated, especially in "development" branches of the Apollo project repositories.

Apollo is being developed by the Apollo Foundation and supporting members of the community.

This repository contains NPM module implementation of main crypto functions.

There are other components that are parts of Apollo:

  1. Apollo: Core classes of Apollo blockchain platform and main executable of Apollo-blockchain component.
  2. Apollo-web-ui: Web wallet UI that is served by Apollo blockchain node and can be accersed by browser at http://localhost:7876
  3. Apollo-dektop: Desktop wallet UI. Apollo-web-ui must be installed tobe able to run Apollo desktop wallet.
  4. Apollo-tools: "swiss knife" of tools for node maintenance, transaction signing, etc.
  5. Apollo-bom-ext: This module required in compilation time oly. It contains BOM of all external libraries used by Apollo components.

Requirements

The latest NodeJS LTS version is required to develop and build Apollo Web Crypto. It could be downloaded from NodeJS official site. For developers (Linux, OS X)Node Version Manager is highly recommended. If you use Windows OS, please consider trying Node Version Manager (nvm) for Windows.

Yarn is the build tool for Apollo-web-crypto. To install yarn, please run following command in a terminal window:

npm install -g yarn

Building

Firstly you need to generate api help folder. It is based on .yaml file in the main Apollo backend repository.

yarn install

For build of that module:

yarn build

Formatting and Linting

We are using Prettier and TsLint!

yarn lint
yarn format

Tests (with Jest)

In the src folder, we have folder called __tests__. Add a new file with a name you like, but it has to end with test.ts, for example FBCrypto.test.ts

Run tests:

yarn test

Bumping a new npm package version

Let’s bump a new patch version of the package:

npm version patch

Our preversion, version, and postversion will run, create a new tag in git and push it to our remote repository. Now publish:

npm publish --access=public

And now you have a new version.

Implementation

Reed-Solomon Encryption

To use the Reed-Solomon encryption, the corresponding cryptographic module can be used. To set it up, the following steps should be taken:

  1. Import Reed-Solomon encryption functions from the initial code: import {processAccountIDtoRS, processAccountRStoID} from 'apl-web-crypto';

  2. Usage: const accountRS = processAccountIDtoRS(accountID), where accountID is user's account id. This function will return account RS value like APL-XXXX-XXXX-XXXX-XXXXX

    const accountID = processAccountRStoID(accountRS), where accountRS is user's account like APL-XXXX-XXXX-XXXX-XXXXX. This function will return account id.

About

Apollo web crypto modules

Resources

Stars

1 star

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - ApolloFoundation/Apollo-web-crypto: Apollo web crypto modules · GitHub
Skip to content

Repository files navigation

Apollo Web Crypto

Disclaimer.

Apollo team is actively working on modularity of Apollo blockchain so build scripts and source structure is subject of changes. Apollo project consists of several modules written in different programming languages. If you are not an expert in Java and Maven, JavaScript, NodeJs, npm, yarn, C/C++ and Cmakle please use our release builds at Apollo Releases page.

If you feel like an expert, please use build instructions below. But also please note that instructions may be slightly outdated, especially in "development" branches of the Apollo project repositories.

Apollo is being developed by the Apollo Foundation and supporting members of the community.

This repository contains NPM module implementation of main crypto functions.

There are other components that are parts of Apollo:

  1. Apollo: Core classes of Apollo blockchain platform and main executable of Apollo-blockchain component.
  2. Apollo-web-ui: Web wallet UI that is served by Apollo blockchain node and can be accersed by browser at http://localhost:7876
  3. Apollo-dektop: Desktop wallet UI. Apollo-web-ui must be installed tobe able to run Apollo desktop wallet.
  4. Apollo-tools: "swiss knife" of tools for node maintenance, transaction signing, etc.
  5. Apollo-bom-ext: This module required in compilation time oly. It contains BOM of all external libraries used by Apollo components.

Requirements

The latest NodeJS LTS version is required to develop and build Apollo Web Crypto. It could be downloaded from NodeJS official site. For developers (Linux, OS X)Node Version Manager is highly recommended. If you use Windows OS, please consider trying Node Version Manager (nvm) for Windows.

Yarn is the build tool for Apollo-web-crypto. To install yarn, please run following command in a terminal window:

npm install -g yarn

Building

Firstly you need to generate api help folder. It is based on .yaml file in the main Apollo backend repository.

yarn install

For build of that module:

yarn build

Formatting and Linting

We are using Prettier and TsLint!

yarn lint
yarn format

Tests (with Jest)

In the src folder, we have folder called __tests__. Add a new file with a name you like, but it has to end with test.ts, for example FBCrypto.test.ts

Run tests:

yarn test

Bumping a new npm package version

Let’s bump a new patch version of the package:

npm version patch

Our preversion, version, and postversion will run, create a new tag in git and push it to our remote repository. Now publish:

npm publish --access=public

And now you have a new version.

Implementation

Reed-Solomon Encryption

To use the Reed-Solomon encryption, the corresponding cryptographic module can be used. To set it up, the following steps should be taken:

  1. Import Reed-Solomon encryption functions from the initial code: import {processAccountIDtoRS, processAccountRStoID} from 'apl-web-crypto';

  2. Usage: const accountRS = processAccountIDtoRS(accountID), where accountID is user's account id. This function will return account RS value like APL-XXXX-XXXX-XXXX-XXXXX

    const accountID = processAccountRStoID(accountRS), where accountRS is user's account like APL-XXXX-XXXX-XXXX-XXXXX. This function will return account id.

About

Apollo web crypto modules

Resources

Stars

1 star

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); GitHub - ApolloFoundation/Apollo-web-crypto: Apollo web crypto modules · GitHub
Skip to content

Repository files navigation

Apollo Web Crypto

Disclaimer.

Apollo team is actively working on modularity of Apollo blockchain so build scripts and source structure is subject of changes. Apollo project consists of several modules written in different programming languages. If you are not an expert in Java and Maven, JavaScript, NodeJs, npm, yarn, C/C++ and Cmakle please use our release builds at Apollo Releases page.

If you feel like an expert, please use build instructions below. But also please note that instructions may be slightly outdated, especially in "development" branches of the Apollo project repositories.

Apollo is being developed by the Apollo Foundation and supporting members of the community.

This repository contains NPM module implementation of main crypto functions.

There are other components that are parts of Apollo:

  1. Apollo: Core classes of Apollo blockchain platform and main executable of Apollo-blockchain component.
  2. Apollo-web-ui: Web wallet UI that is served by Apollo blockchain node and can be accersed by browser at http://localhost:7876
  3. Apollo-dektop: Desktop wallet UI. Apollo-web-ui must be installed tobe able to run Apollo desktop wallet.
  4. Apollo-tools: "swiss knife" of tools for node maintenance, transaction signing, etc.
  5. Apollo-bom-ext: This module required in compilation time oly. It contains BOM of all external libraries used by Apollo components.

Requirements

The latest NodeJS LTS version is required to develop and build Apollo Web Crypto. It could be downloaded from NodeJS official site. For developers (Linux, OS X)Node Version Manager is highly recommended. If you use Windows OS, please consider trying Node Version Manager (nvm) for Windows.

Yarn is the build tool for Apollo-web-crypto. To install yarn, please run following command in a terminal window:

npm install -g yarn

Building

Firstly you need to generate api help folder. It is based on .yaml file in the main Apollo backend repository.

yarn install

For build of that module:

yarn build

Formatting and Linting

We are using Prettier and TsLint!

yarn lint
yarn format

Tests (with Jest)

In the src folder, we have folder called __tests__. Add a new file with a name you like, but it has to end with test.ts, for example FBCrypto.test.ts

Run tests:

yarn test

Bumping a new npm package version

Let’s bump a new patch version of the package:

npm version patch

Our preversion, version, and postversion will run, create a new tag in git and push it to our remote repository. Now publish:

npm publish --access=public

And now you have a new version.

Implementation

Reed-Solomon Encryption

To use the Reed-Solomon encryption, the corresponding cryptographic module can be used. To set it up, the following steps should be taken:

  1. Import Reed-Solomon encryption functions from the initial code: import {processAccountIDtoRS, processAccountRStoID} from 'apl-web-crypto';

  2. Usage: const accountRS = processAccountIDtoRS(accountID), where accountID is user's account id. This function will return account RS value like APL-XXXX-XXXX-XXXX-XXXXX

    const accountID = processAccountRStoID(accountRS), where accountRS is user's account like APL-XXXX-XXXX-XXXX-XXXXX. This function will return account id.

About

Apollo web crypto modules

Resources

Stars

1 star

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages