straks / straks Goto Github PK
View Code? Open in Web Editor NEWA new decentralised, open source, community driven digital currency, focusing on e-commerce utility
Home Page: https://straks.tech
License: MIT License
A new decentralised, open source, community driven digital currency, focusing on e-commerce utility
Home Page: https://straks.tech
License: MIT License
Been trying to run the precompiled version on Ubuntu 17.10 with no success.
./straks-qt: error while loading shared libraries: libprotobuf.so.9: cannot open shared object file: No such file or directory
Before that I had the same error but for libboost 1.58 and also qrencode but I fixed those by installing the packages for them manually but this seems to be an endless cycle. I just downloaded the latest binaries of vertcoin and litecoin and they ran straight away with no issues.
I want to build all dependencies packages but there is no makefile
Straks should list their coin type used in bip44 at the registry:
https://github.com/satoshilabs/slips/blob/master/slip-0044.md
When creating a custom conf for for the Windows Qt wallet, setting -datadir
has no affect. The default directory selected during initial loading takes precedence.
Whilst you can call the wallet with -choosedatadir
to change the default directory, it would be great to be able to set it via conf and have this value override the default directory.
Problem solved!
Operating System: macOS Sierra 10.12.6
Wallet: STRAKS Core version v1.14.6.2-18582bd-dirty (64-bit)
Attempting to unlock my wallet from command line with:
straks-cli walletpassphrase "my-passphrase" 60
returns
error code: -14
error message:
Error: The wallet passphrase entered was incorrect.
But when I do it from the wallet's console with:
walletpassphrase "my-passphrase" 60
it works just fine.
Is this by design?
(straks-cli
, straksd
, and straks-tx
installed to /usr/local/bin
, all available to my path.)
If you place txindex=1 in the conf file and try to reindex the wallet never loads.
Found this in the debug.log
2017-12-26 02:19:30 ERROR: AcceptBlock: bad-cb-height, block height mismatch in coinbase (code 16)
2017-12-26 02:19:30 ERROR: AcceptBlockHeader: prev block invalid
I looked around in the code and commented out the BIP34 enforcement rule in the ContextualCheckBlock on validation.cpp now it seems to reindex just fine..
What do you think?
Hey guys, I'm trying to build straksd without wallet support and stumbled upon the following issue. Your global ptr variable pwalletMain
is defined in
Line 39 in 66fc657
which gets excluded from linking when disabling the wallet
Lines 42 to 44 in 6ddc6cc
Lines 234 to 247 in 6ddc6cc
There's a couple other missing references related to the same issue, namely CCryptoKeyStore
, CWallet
, CActiveMasternode
, and HelpRequiringPassphrase
.
Here's the relevant output from building 1.14.7.3 on Alpine 3.7
CXXLD straksd
libstraks_server.a(libstraks_server_a-init.o): In function `AppInitMain(boost::thread_group&, CScheduler&)':
/usr/local/src/straks-1.14.7.3/src/init.cpp:1963: undefined reference to `pwalletMain'
/usr/local/src/straks-1.14.7.3/src/init.cpp:1963: undefined reference to `CWallet::LockCoin(COutPoint const&)'
libstraks_server.a(libstraks_server_a-mining.o): In function `masternode(JSONRPCRequest const&)':
/usr/local/src/straks-1.14.7.3/src/rpc/mining.cpp:1235: undefined reference to `pwalletMain'
/usr/local/src/straks-1.14.7.3/src/rpc/mining.cpp:1276: undefined reference to `pwalletMain'
/usr/local/src/straks-1.14.7.3/src/rpc/mining.cpp:1317: undefined reference to `pwalletMain'
/usr/local/src/straks-1.14.7.3/src/rpc/mining.cpp:1317: undefined reference to `CCryptoKeyStore::Lock()'
/usr/local/src/straks-1.14.7.3/src/rpc/mining.cpp:1255: undefined reference to `pwalletMain'
/usr/local/src/straks-1.14.7.3/src/rpc/mining.cpp:1255: undefined reference to `CCryptoKeyStore::Lock()'
/usr/local/src/straks-1.14.7.3/src/rpc/mining.cpp:1287: undefined reference to `pwalletMain'
/usr/local/src/straks-1.14.7.3/src/rpc/mining.cpp:1287: undefined reference to `CWallet::Unlock(std::__cxx11::basic_string<char, std::char_traits<char>, secure_allocator<char> > const&, bool)'
/usr/local/src/straks-1.14.7.3/src/rpc/mining.cpp:1246: undefined reference to `pwalletMain'
/usr/local/src/straks-1.14.7.3/src/rpc/mining.cpp:1246: undefined reference to `CWallet::Unlock(std::__cxx11::basic_string<char, std::char_traits<char>, secure_allocator<char> > const&, bool)'
/usr/local/src/straks-1.14.7.3/src/rpc/mining.cpp:1323: undefined reference to `pwalletMain'
/usr/local/src/straks-1.14.7.3/src/rpc/mining.cpp:1367: undefined reference to `pwalletMain'
/usr/local/src/straks-1.14.7.3/src/rpc/mining.cpp:1367: undefined reference to `CCryptoKeyStore::Lock()'
/usr/local/src/straks-1.14.7.3/src/rpc/mining.cpp:1405: undefined reference to `pwalletMain'
/usr/local/src/straks-1.14.7.3/src/rpc/mining.cpp:1425: undefined reference to `pwalletMain'
/usr/local/src/straks-1.14.7.3/src/rpc/mining.cpp:1425: undefined reference to `CCryptoKeyStore::Lock()'
/usr/local/src/straks-1.14.7.3/src/rpc/mining.cpp:1334: undefined reference to `pwalletMain'
/usr/local/src/straks-1.14.7.3/src/rpc/mining.cpp:1334: undefined reference to `CWallet::Unlock(std::__cxx11::basic_string<char, std::char_traits<char>, secure_allocator<char> > const&, bool)'
/usr/local/src/straks-1.14.7.3/src/rpc/mining.cpp:1447: undefined reference to `pwalletMain'
/usr/local/src/straks-1.14.7.3/src/rpc/mining.cpp:1492: undefined reference to `pwalletMain'
/usr/local/src/straks-1.14.7.3/src/rpc/mining.cpp:1492: undefined reference to `CCryptoKeyStore::Lock()'
/usr/local/src/straks-1.14.7.3/src/rpc/mining.cpp:1458: undefined reference to `pwalletMain'
/usr/local/src/straks-1.14.7.3/src/rpc/mining.cpp:1458: undefined reference to `CWallet::Unlock(std::__cxx11::basic_string<char, std::char_traits<char>, secure_allocator<char> > const&, bool)'
/usr/local/src/straks-1.14.7.3/src/rpc/mining.cpp:1499: undefined reference to `pwalletMain'
/usr/local/src/straks-1.14.7.3/src/rpc/mining.cpp:1549: undefined reference to `pwalletMain'
/usr/local/src/straks-1.14.7.3/src/rpc/mining.cpp:1549: undefined reference to `CCryptoKeyStore::Lock()'
/usr/local/src/straks-1.14.7.3/src/rpc/mining.cpp:1416: undefined reference to `pwalletMain'
/usr/local/src/straks-1.14.7.3/src/rpc/mining.cpp:1416: undefined reference to `CWallet::Unlock(std::__cxx11::basic_string<char, std::char_traits<char>, secure_allocator<char> > const&, bool)'
/usr/local/src/straks-1.14.7.3/src/rpc/mining.cpp:1510: undefined reference to `pwalletMain'
/usr/local/src/straks-1.14.7.3/src/rpc/mining.cpp:1510: undefined reference to `CWallet::Unlock(std::__cxx11::basic_string<char, std::char_traits<char>, secure_allocator<char> > const&, bool)'
libstraks_server.a(libstraks_server_a-activemasternode.o): In function `CActiveMasternode::SelectCoinsMasternode()':
/usr/local/src/straks-1.14.7.3/src/activemasternode.cpp:421: undefined reference to `pwalletMain'
/usr/local/src/straks-1.14.7.3/src/activemasternode.cpp:421: undefined reference to `CWallet::AvailableCoins(std::vector<COutput, std::allocator<COutput> >&, bool, CCoinControl const*, bool, AvailableCoinsType, bool) const'
libstraks_server.a(libstraks_server_a-activemasternode.o): In function `CActiveMasternode::GetVinFromOutput(COutput, CTxIn&, CPubKey&, CKey&)':
/usr/local/src/straks-1.14.7.3/src/activemasternode.cpp:405: undefined reference to `pwalletMain'
libstraks_server.a(libstraks_server_a-activemasternode.o): In function `CActiveMasternode::StopMasterNode(CTxIn, CService, CKey, CPubKey, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)':
/usr/local/src/straks-1.14.7.3/src/activemasternode.cpp:179: undefined reference to `pwalletMain'
/usr/local/src/straks-1.14.7.3/src/activemasternode.cpp:179: undefined reference to `CWallet::UnlockCoin(COutPoint const&)'
libstraks_server.a(libstraks_server_a-activemasternode.o): In function `CActiveMasternode::ManageStatus()':
/usr/local/src/straks-1.14.7.3/src/activemasternode.cpp:77: undefined reference to `pwalletMain'
/usr/local/src/straks-1.14.7.3/src/activemasternode.cpp:107: undefined reference to `pwalletMain'
/usr/local/src/straks-1.14.7.3/src/activemasternode.cpp:107: undefined reference to `CWallet::LockCoin(COutPoint const&)'
libstraks_server.a(libstraks_server_a-misc.o): In function `spork(JSONRPCRequest const&)':
/usr/local/src/straks-1.14.7.3/src/rpc/misc.cpp:194: undefined reference to `HelpRequiringPassphrase[abi:cxx11]()'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:3760: straksd] Error 1
Issue after running the straksd on ubuntu 16.0.4 LTS
Kernel version 4.14.12-x86_64-linode92
OS: Windows 10 Pro N
Version: straks-1.14.5.0-win64
Running straksd.exe
without any command line options results in the daemon executing without issue.
Attempting to launch straksd.exe -datadir=<somedir>
results in the error daemon option not supported by this operating system
.
PS E:\crypto\Straks\straks-1.14.5.0-win64> .\straksd.exe --datadir=E:\crypto\Straks\data\ Error: -daemon is not supported on this operating system
Not really an issue but if any bounties please let me know
OS: Windows 10 Pro N
Straks Version: Straks-1.14.5.0-win64
Pressing ctrl+c
after executing the daemon on Windows results in an unhandled exception.
`PS E:\crypto\Straks\straks-1.14.5.0-win64> .\straksd.exe
terminate called after throwing an instance of 'std::bad_cast'
what(): std::bad_cast
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.`
Just a basic review of the source code highlights the same issue signatum had, it's once again based on an old code base - this is using an even older version of OpenSSL - Signatum uses 1.0.1j - this project uses 1.0.1c - the issue is with bignum, and it was already solved by the bitcoin devs and I already posted the links to the pull request - are there plans to upgrade? (wondering if I will even get a response this time...)
the issues is that the pointer to the private key is directly accessible in memory - I assumed this project was using up to date code, IT IS NOT! - is this going to be reviewed as the recently disclosed Meltdown and Spectre vulnerabilities make this issue even more pertinent.
It looks like the site's using Font Awesome for icons which has a bunch of these (they call them 'external-links').
Any guide for compiling on arm devices?
I am trying to implement Straks support in a mining pool called miningcore but am having trouble with treasury funding validation(cb-no-treasury-funding
). The PR is here: oliverw/miningcore#90
This is an example transaction im generating for the coinbase transaction for testnet.
{{
"hash": "558b561b21fba83fe7967420e2cc2d0778909b75d60f1c26e220fcb5248d9ba1",
"ver": 1,
"vin_sz": 0,
"vout_sz": 2,
"lock_time": 0,
"size": 76,
"in": [],
"out": [
{
"value": "9.50000000",
"scriptPubKey": "OP_DUP OP_HASH160 026d4467d3eaec9ca1c7ba9257ceb1bc4573e73d OP_EQUALVERIFY OP_CHECKSIG"
},
{
"value": "0.50000000",
"scriptPubKey": "OP_HASH160 737c37ce6ef1ea0ca88cb947ecb9aee189c6ba23 OP_EQUAL"
}
]
}}
Any help would be great at this point as I'm at a loss. :) I think it's in everyone's interests to offer an alternative mining pool implementation in case a bug crashes the only implementation around. :)
Trying to build straks with boost 1.66.0 yields the following compilation error (works well with boost 1.65):
In file included from /usr/include/boost/multi_index/ordered_index.hpp:17:0, from txmempool.h:27, from miner.h:12, from miner.cpp:8: /usr/include/boost/multi_index/detail/ord_index_impl.hpp: In instantiation of ‘bool boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::in_place(boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::value_param_type, boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::node_type*, boost::multi_index::detail::ordered_non_unique_tag) const [with KeyFromValue = boost::multi_index::identity<CTxMemPoolModifiedEntry>; Compare = CompareModifiedEntry; SuperMeta = boost::multi_index::detail::nth_layer<2, CTxMemPoolModifiedEntry, boost::multi_index::indexed_by<boost::multi_index::ordered_unique<modifiedentry_iter, CompareCTxMemPoolIter>, boost::multi_index::ordered_non_unique<boost::multi_index::tag<ancestor_score>, boost::multi_index::identity<CTxMemPoolModifiedEntry>, CompareModifiedEntry> >, std::allocator<CTxMemPoolModifiedEntry> >; TagList = boost::mpl::v_item<ancestor_score, boost::mpl::vector0<mpl_::na>, 0>; Category = boost::multi_index::detail::ordered_non_unique_tag; AugmentPolicy = boost::multi_index::detail::null_augment_policy; boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::value_param_type = const CTxMemPoolModifiedEntry&; boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::node_type = boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolModifiedEntry, std::allocator<CTxMemPoolModifiedEntry> > >; typename SuperMeta::type::node_type = boost::multi_index::detail::index_node_base<CTxMemPoolModifiedEntry, std::allocator<CTxMemPoolModifiedEntry> >]’: /usr/include/boost/multi_index/detail/ord_index_impl.hpp:825:17: required from ‘bool boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::modify_(boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::node_type*) [with KeyFromValue = boost::multi_index::identity<CTxMemPoolModifiedEntry>; Compare = CompareModifiedEntry; SuperMeta = boost::multi_index::detail::nth_layer<2, CTxMemPoolModifiedEntry, boost::multi_index::indexed_by<boost::multi_index::ordered_unique<modifiedentry_iter, CompareCTxMemPoolIter>, boost::multi_index::ordered_non_unique<boost::multi_index::tag<ancestor_score>, boost::multi_index::identity<CTxMemPoolModifiedEntry>, CompareModifiedEntry> >, std::allocator<CTxMemPoolModifiedEntry> >; TagList = boost::mpl::v_item<ancestor_score, boost::mpl::vector0<mpl_::na>, 0>; Category = boost::multi_index::detail::ordered_non_unique_tag; AugmentPolicy = boost::multi_index::detail::null_augment_policy; boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::node_type = boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolModifiedEntry, std::allocator<CTxMemPoolModifiedEntry> > >; typename SuperMeta::type::node_type = boost::multi_index::detail::index_node_base<CTxMemPoolModifiedEntry, std::allocator<CTxMemPoolModifiedEntry> >]’ /usr/include/boost/multi_index/detail/ord_index_impl.hpp:860:25: required from ‘bool boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::modify_(boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::node_type*) [with KeyFromValue = modifiedentry_iter; Compare = CompareCTxMemPoolIter; SuperMeta = boost::multi_index::detail::nth_layer<1, CTxMemPoolModifiedEntry, boost::multi_index::indexed_by<boost::multi_index::ordered_unique<modifiedentry_iter, CompareCTxMemPoolIter>, boost::multi_index::ordered_non_unique<boost::multi_index::tag<ancestor_score>, boost::multi_index::identity<CTxMemPoolModifiedEntry>, CompareModifiedEntry> >, std::allocator<CTxMemPoolModifiedEntry> >; TagList = boost::mpl::vector0<mpl_::na>; Category = boost::multi_index::detail::ordered_unique_tag; AugmentPolicy = boost::multi_index::detail::null_augment_policy; boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::node_type = boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolModifiedEntry, std::allocator<CTxMemPoolModifiedEntry> > > >; typename SuperMeta::type::node_type = boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolModifiedEntry, std::allocator<CTxMemPoolModifiedEntry> > >]’ /usr/include/boost/multi_index_container.hpp:823:25: required from ‘bool boost::multi_index::multi_index_container<Value, IndexSpecifierList, Allocator>::modify_(Modifier&, boost::multi_index::multi_index_container<Value, IndexSpecifierList, Allocator>::node_type*) [with Modifier = update_for_parent_inclusion; Value = CTxMemPoolModifiedEntry; IndexSpecifierList = boost::multi_index::indexed_by<boost::multi_index::ordered_unique<modifiedentry_iter, CompareCTxMemPoolIter>, boost::multi_index::ordered_non_unique<boost::multi_index::tag<ancestor_score>, boost::multi_index::identity<CTxMemPoolModifiedEntry>, CompareModifiedEntry> >; Allocator = std::allocator<CTxMemPoolModifiedEntry>; boost::multi_index::multi_index_container<Value, IndexSpecifierList, Allocator>::node_type = boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolModifiedEntry, std::allocator<CTxMemPoolModifiedEntry> > > >]’ /usr/include/boost/multi_index/detail/index_base.hpp:278:34: required from ‘bool boost::multi_index::detail::index_base<Value, IndexSpecifierList, Allocator>::final_modify_(Modifier&, boost::multi_index::detail::index_base<Value, IndexSpecifierList, Allocator>::final_node_type*) [with Modifier = update_for_parent_inclusion; Value = CTxMemPoolModifiedEntry; IndexSpecifierList = boost::multi_index::indexed_by<boost::multi_index::ordered_unique<modifiedentry_iter, CompareCTxMemPoolIter>, boost::multi_index::ordered_non_unique<boost::multi_index::tag<ancestor_score>, boost::multi_index::identity<CTxMemPoolModifiedEntry>, CompareModifiedEntry> >; Allocator = std::allocator<CTxMemPoolModifiedEntry>; boost::multi_index::detail::index_base<Value, IndexSpecifierList, Allocator>::final_node_type = boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolModifiedEntry, std::allocator<CTxMemPoolModifiedEntry> > > >]’ /usr/include/boost/multi_index/detail/ord_index_impl.hpp:419:61: required from ‘bool boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::modify(boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::iterator, Modifier) [with Modifier = update_for_parent_inclusion; KeyFromValue = modifiedentry_iter; Compare = CompareCTxMemPoolIter; SuperMeta = boost::multi_index::detail::nth_layer<1, CTxMemPoolModifiedEntry, boost::multi_index::indexed_by<boost::multi_index::ordered_unique<modifiedentry_iter, CompareCTxMemPoolIter>, boost::multi_index::ordered_non_unique<boost::multi_index::tag<ancestor_score>, boost::multi_index::identity<CTxMemPoolModifiedEntry>, CompareModifiedEntry> >, std::allocator<CTxMemPoolModifiedEntry> >; TagList = boost::mpl::vector0<mpl_::na>; Category = boost::multi_index::detail::ordered_unique_tag; AugmentPolicy = boost::multi_index::detail::null_augment_policy; boost::multi_index::detail::ordered_index_impl<KeyFromValue, Compare, SuperMeta, TagList, Category, AugmentPolicy>::iterator = boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolModifiedEntry, std::allocator<CTxMemPoolModifiedEntry> > > > >; typename SuperMeta::type::node_type = boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolModifiedEntry, std::allocator<CTxMemPoolModifiedEntry> > >]’ miner.cpp:440:74: required from here /usr/include/boost/multi_index/detail/ord_index_impl.hpp:1181:7: error: no match for call to ‘(const key_compare {aka const CompareModifiedEntry}) (const CTxMemPoolModifiedEntry&, CTxMemPoolModifiedEntry&)’ if(comp_(key(v),key(y->value())))return false; ^~ In file included from miner.cpp:8:0: miner.h:84:10: note: candidate: bool CompareModifiedEntry::operator()(const CTxMemPoolModifiedEntry&, const CTxMemPoolModifiedEntry&) <near match> bool operator()(const CTxMemPoolModifiedEntry &a, const CTxMemPoolModifiedEntry &b) ^~~~~~~~ miner.h:84:10: note: passing ‘const key_compare* {aka const CompareModifiedEntry*}’ as ‘this’ argument discards qualifiers In file included from /usr/include/boost/multi_index/ordered_index.hpp:17:0, from txmempool.h:27, from miner.h:12, from miner.cpp:8: /usr/include/boost/multi_index/detail/ord_index_impl.hpp:1186:25: error: no match for call to ‘(const key_compare {aka const CompareModifiedEntry}) (CTxMemPoolModifiedEntry&, const CTxMemPoolModifiedEntry&)’ return y==header()||!comp_(key(y->value()),key(v)); In file included from miner.cpp:8:0: miner.h:84:10: note: candidate: bool CompareModifiedEntry::operator()(const CTxMemPoolModifiedEntry&, const CTxMemPoolModifiedEntry&) <near match> bool operator()(const CTxMemPoolModifiedEntry &a, const CTxMemPoolModifiedEntry &b) ^~~~~~~~ miner.h:84:10: note: passing ‘const key_compare* {aka const CompareModifiedEntry*}’ as ‘this’ argument discards qualifiers In file included from chain.h:14:0, from miner.cpp:11:
Add an option to disable incoming transaction notifications.
I cant access my wallet as message appear that I had input a wrong password, but my password is 100% correct! So I cant access my funds...
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.