Commit Graph

14 Commits (ff13ee2c4f31f76a3965d1ecef26ee2b6019a7ba)

Author SHA1 Message Date
Paul Shapiro 18b281e134 enabled asmjs as additional build target, and added code to monero_utils/MyMoneroCoreBridge.js with preliminary wasm support detection and fallback to loading separated asm.js file (and different MyMoneroCoreCpp for ASMJS) to remove need for wasm users to load asmjs and asmjs loading code; the asm.js file is separated out from MyMoneroCoreCpp_ASMJS.js with --separate-asm to improve initial load time and, more importantly here, to enable bin/package_browser_js and other webpack like builds to keep the majority of the asmjs separate from the main mymonero_core.js (or e.g. mymonero_app_browser.js) bundle, so that wasm users don't have to load the asmjs along with the main app bundle - however, the overhead of bundling MyMoneroCoreCpp_ASMJS.js into such a main bundle does still exist. in near future, it would be nice to add an option to webpack.config.browser.common.js or bin/package_browser_js or possible just inheriting/alternate versions of those which can opt to remove asmjs support and throw an exception or alert if it's simply not supported - this is probably what MyMonero will move to within a year or two as legacy browsers fade from usage
6 years ago
Paul Shapiro d60df76402 archive-emcpp: comments about possible cp cmd errors
6 years ago
Paul Shapiro 3d64d6e0ba added a way to build for and run asmjs
6 years ago
Paul Shapiro 319174b16d added webpack browser library bundling process
6 years ago
Paul Shapiro 9c20339f19 updated emscripten build for 0.13.0.3 (enabled bulletproofs); updated emscripten to that built by 1.38.13 from 1.38.8; added boost::chrono fsyncobj now()
6 years ago
Paul Shapiro ef830ad28a lots of moving things around; implemented promise constructor for monero_utils (which is actually MyMoneroCoreBridge, a new class to replace cnUtil).. this was chosen after trying both promises directly in the functions and async/await in one or two decent patterns in order to avoid the requirement that integrators support async/await and to retain the option for calls to monero_utils to remain synchronous - added src/module-post as a post-js in order to fix emscripten .then infinite loop ... this PR does not include any kind of support for calling from electron renderer to electron main - that is, the code to detect electron renderer, then intercept ret.err_msg and throw only if not in electron renderer, and relay ret.err_msg otherwise has been removed for the moment.. will likely be added back
6 years ago
Paul Shapiro 8dc79ad999 switching back to wasm and optimizing via lto - we must be on the watch for regressions with LTO; removing link to various boost libs which are apparently unnecessary - surprised me, not sure I understand
6 years ago
Paul Shapiro d517038059 switching from wasm to asm.js for numerous reasons such as load time (currently, tradeoff is that seed-and-keys-from-mnemonic takes a long time for some reason, maybe keccak... keep JS impl?), switching optimizations to speed
6 years ago
Paul Shapiro 002bcaa657 added new mymonero-core-cpp (aka …--new) as submodule, with bin/update_submodules and Readme update
6 years ago
Paul Shapiro 4d7eb477ac build-openssl-emscripten.sh: fixed -i suffix
6 years ago
Paul Shapiro e58ff678d3 openssl build scripts -- pending bridge to new C++ impls, incl bulletproofs
6 years ago
Paul Shapiro ad4d8024f8 modified emcpp build script organization and added flags
6 years ago
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
Paul Shapiro 75a207d428 boost buildchain (download expanded dir contents to contrib/boost-sdk .. may make it a locked submod later but leaving version open for now since we have working 1.6.7) & working monero src sc_reduce32 poc include + JS call
6 years ago