There are several. Python: https://github.com/tippero/python-monero Node js: https://github.com/ShenNoether/monero-nodejs Php: https://github.com/PsychicCat/monero-php I think the node and php libraries are for interacting more with simplewallet in particular, but the Python library is for both daemon and wallet I believe.


bitmonerod/simplewallet are written in C++, with some C too. C libraries are used (unbound, lmdb, etc). Some C++ bits are pretty intricate. Wallet code is simpler. Kovri is C++. I've not looked at the code much to say what level is needed. The GUI is Qt/QML, and C++. I've not looked at it much, but it's way smaller than core, so easier to get to grips with....


Monero is for most parts written in C++ and C. That is, currently 81.2% of the code is written in C++, whereas 15.9% of the code is written in C. The remaining languages are CMake, Shell, Python, Perl6, and Other. The "language distribution" can be seen here (click on the purple/pink bar to see the distribution). Thus, if you want to contribute to Monero you,...


Monero can be built using the DBUILD_SHARED_LIBS flag that triggers building the optional shared libraries. apt-get install git cmake build-essential libssl-dev pkg-config libboost-all-dev git clone https://github.com/monero-project/monero.git cd monero git checkout tags/v0.11.0.0 -b release-v0.11.0.0 cmake -DBUILD_SHARED_LIBS=1 . make


The primary ways to start are to become familiar with the codebase, the cryptonote standards, and to engage with other developers. All of the developers communicate via IRC on #monero-dev or #monero on freenode's IRC servers. Documentation is severely lacking so the most efficient way to obtain any information that you can't find is to ask on #monero or #...


I think you should have a look at Monero's official Wallet RPC documentation. There's an example for each command. Update: Those examples use the curl utility to send the HTTP request. The meaning of the parameters can be looked up in the man page.


nonceptr is a pointer to the place where the nonce is in the block header (pointed to by pdata). It is defined as a pointer to an unsigned 32-bit integer because the nonce is 32 bits long, and it is used when mining to easily change the nonce (e.g. *nonceptr = new_nonce;).


You'd need to write a layer in C++ which would export C linkage functions (ie, extern "C" { ... }) while using C++ objects in their implementation. They'd essentially do this kind of thing: Original: class A { A(); void work(); }; C layer: extern "C" { A *A_create() { return new A(); } void A_destroy(A *a) { delete a; } void A_work(A *a) { a-&...


For python, you can use MoneroPy. It is still pre-beta and under development, but has pure python implementations for wallet account creation, TX Extra parsing, integrated address encoding and decoding, transaction ID generation, and other goodies. Speed improvements and Monero Core library wrappers are planned for offloading calculations to same code at ...


To find the PoW hash of a block, you perform two steps: get the hashing blob for that block (get_block_hashing_blob in the Monero source), which is built by serializing the block, and appending the number of transactions in that block as well as the root of the Merkle tree run Cryptonight (cn_slow_hash in the Monero source) on this blob If you just want to ...

Only top voted, non community-wiki answers of a minimum length are eligible