You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Go to file
Paul Shapiro b529bdbeaa
fix ups to emscripten build procedures; swapped cryptonote_crypto_EMSCRIPTEN with MyMoneroCoreCpp.(js,wasm), and had to introduce blocking to methods which use CNCrypto var due to new async Module init; updated Readme
6 years ago
bin fix ups to emscripten build procedures; swapped cryptonote_crypto_EMSCRIPTEN with MyMoneroCoreCpp.(js,wasm), and had to introduce blocking to methods which use CNCrypto var due to new async Module init; updated Readme 6 years ago
configs fix ups to emscripten build procedures; swapped cryptonote_crypto_EMSCRIPTEN with MyMoneroCoreCpp.(js,wasm), and had to introduce blocking to methods which use CNCrypto var due to new async Module init; updated Readme 6 years ago
cryptonote_utils fix ups to emscripten build procedures; swapped cryptonote_crypto_EMSCRIPTEN with MyMoneroCoreCpp.(js,wasm), and had to introduce blocking to methods which use CNCrypto var due to new async Module init; updated Readme 6 years ago
hostAPI Add prettier support 6 years ago
monero_utils Add prettier support 6 years ago
src fix ups to emscripten build procedures; swapped cryptonote_crypto_EMSCRIPTEN with MyMoneroCoreCpp.(js,wasm), and had to introduce blocking to methods which use CNCrypto var due to new async Module init; updated Readme 6 years ago
tests fix ups to emscripten build procedures; swapped cryptonote_crypto_EMSCRIPTEN with MyMoneroCoreCpp.(js,wasm), and had to introduce blocking to methods which use CNCrypto var due to new async Module init; updated Readme 6 years ago
.eslintignore basic eslint config .. eslintignoring cryptonote_utils for now for emscripten anyway but that can probably be made more specific to the files we want to exclude 6 years ago
.eslintrc.json Add prettier support 6 years ago
.gitignore fix ups to emscripten build procedures; swapped cryptonote_crypto_EMSCRIPTEN with MyMoneroCoreCpp.(js,wasm), and had to introduce blocking to methods which use CNCrypto var due to new async Module init; updated Readme 6 years ago
.gitmodules transition commit adding monero-core-custom, prior to adding boost 6 years ago
.prettierignore Add prettier support 6 years ago
.prettierrc Add prettier support 6 years ago
CMakeLists.txt fix ups to emscripten build procedures; swapped cryptonote_crypto_EMSCRIPTEN with MyMoneroCoreCpp.(js,wasm), and had to introduce blocking to methods which use CNCrypto var due to new async Module init; updated Readme 6 years ago
LICENSE.txt copyright 6 years ago
README.md fix ups to emscripten build procedures; swapped cryptonote_crypto_EMSCRIPTEN with MyMoneroCoreCpp.(js,wasm), and had to introduce blocking to methods which use CNCrypto var due to new async Module init; updated Readme 6 years ago
index.js Fix incorrectly exported module 6 years ago
package.json fix ups to emscripten build procedures; swapped cryptonote_crypto_EMSCRIPTEN with MyMoneroCoreCpp.(js,wasm), and had to introduce blocking to methods which use CNCrypto var due to new async Module init; updated Readme 6 years ago
wallaby.js Convert 2017 copyright -> 2018 6 years ago
yarn.lock Add Jest depdendency 6 years ago

README.md

MyMonero Core JS

Info

  1. Legal
  2. What's in This Repo?
  3. Building MyMoneroCoreCpp
  4. Library Roadmap
  5. Library API Documentation

Contributing

  1. QA
  2. Pull Requests

Info

See LICENSE.txt for license.

All source code copyright © 2014-2018 by MyMonero. All rights reserved.

What's in This Repo?

This repository holds the Javascript source code for the Monero/CryptoNote cryptography and protocols, plus lightwallet functions which power the official MyMonero apps.

There is also a chain of build scripts which is capable of building a JS module by transpiling a subset of Monero source code via emscripten, which relies upon static boost libs, for which there is also a script for building from source.

Contents

  • monero_utils contains Monero- and MyMonero-specific implementations, wrappers, and declarations.

  • cryptonote_utils contains the MyMonero JS implementations for the underlying cryptography behind Monero.

    • cryptonote_utils/MyMoneroCoreCpp.(js,wasm) are produced by transpiling Monero core C++ code to JS via Emscripten (See Building MyMoneroCoreCpp). A Module instance is managed by cryptonote_utils/cryptonote_utils.js.
  • This readme is located at README.md, and the license is located at LICENSE.txt.

Building MyMoneroCoreCpp

Install Emscripten SDK

Ensure you've properly installed Emscripten and exposed the Emscripten executables in your PATH, e.g.:

source ./emsdk_env.sh

Boost for Emscripten

Depends upon: Emscripten SDK

Download a copy of the contents of the Boost source into ./contrib/boost-sdk/.

  • Execute bin/build-boost-emscripten.sh

Emscripten Module

Depends upon: Emscripten SDK, Boost for Emscripten

  • Execute npm run-script build-emcpp

Library Roadmap

  • Investigate replacing entire implementation with bindings to lightwallet API in official Monero core wallet C++

Library API Documentation

Coming soon

Contributing

QA

Please submit any bugs as Issues unless they have already been reported.

Suggestions and feedback are very welcome!

Pull Requests

We'll merge nearly anything constructive. Contributors welcome and credited in releases.

We often collaborate over IRC in #mymonero on Freenode.

All development happens off the develop branch like the Gitflow Workflow.

Regular contributors

  • 💿 endogenic (Paul Shapiro) Maintainer

  • 🍄 luigi Major core crypto and Monero routine implementation contributor; Advisor

  • 🏄‍♂️ paullinator (Paul Puey) API design

  • 🔒 cryptochangement Subaddress send & decode support; Initial tests

  • 💩 henrynguyen5 Code quality, modernization, tests; HW wallet support (in progress)