aboutsummaryrefslogtreecommitdiff
path: root/src/daemon (follow)
AgeCommit message (Collapse)AuthorFilesLines
2019-10-25rpc: add a flush_cache RPCmoneromooo-monero5-0/+50
This allows flushing internal caches (for now, the bad tx cache, which will allow debugging a stuck monerod after it has failed to verify a transaction in a block, since it would otherwise not try again, making subsequent log changes pointless)
2019-10-25Merge pull request #5357luigi11116-12/+78
b3a9a4d add a quick early out to get_blocks.bin when up to date (moneromooo-monero) 2899379 daemon, wallet: new pay for RPC use system (moneromooo-monero) ffa4602 simplewallet: add public_nodes command (moneromooo-monero)
2019-10-25daemon, wallet: new pay for RPC use systemmoneromooo-monero6-12/+78
Daemons intended for public use can be set up to require payment in the form of hashes in exchange for RPC service. This enables public daemons to receive payment for their work over a large number of calls. This system behaves similarly to a pool, so payment takes the form of valid blocks every so often, yielding a large one off payment, rather than constant micropayments. This system can also be used by third parties as a "paywall" layer, where users of a service can pay for use by mining Monero to the service provider's address. An example of this for web site access is Primo, a Monero mining based website "paywall": https://github.com/selene-kovri/primo This has some advantages: - incentive to run a node providing RPC services, thereby promoting the availability of third party nodes for those who can't run their own - incentive to run your own node instead of using a third party's, thereby promoting decentralization - decentralized: payment is done between a client and server, with no third party needed - private: since the system is "pay as you go", you don't need to identify yourself to claim a long lived balance - no payment occurs on the blockchain, so there is no extra transactional load - one may mine with a beefy server, and use those credits from a phone, by reusing the client ID (at the cost of some privacy) - no barrier to entry: anyone may run a RPC node, and your expected revenue depends on how much work you do - Sybil resistant: if you run 1000 idle RPC nodes, you don't magically get more revenue - no large credit balance maintained on servers, so they have no incentive to exit scam - you can use any/many node(s), since there's little cost in switching servers - market based prices: competition between servers to lower costs - incentive for a distributed third party node system: if some public nodes are overused/slow, traffic can move to others - increases network security - helps counteract mining pools' share of the network hash rate - zero incentive for a payer to "double spend" since a reorg does not give any money back to the miner And some disadvantages: - low power clients will have difficulty mining (but one can optionally mine in advance and/or with a faster machine) - payment is "random", so a server might go a long time without a block before getting one - a public node's overall expected payment may be small Public nodes are expected to compete to find a suitable level for cost of service. The daemon can be set up this way to require payment for RPC services: monerod --rpc-payment-address 4xxxxxx \ --rpc-payment-credits 250 --rpc-payment-difficulty 1000 These values are an example only. The --rpc-payment-difficulty switch selects how hard each "share" should be, similar to a mining pool. The higher the difficulty, the fewer shares a client will find. The --rpc-payment-credits switch selects how many credits are awarded for each share a client finds. Considering both options, clients will be awarded credits/difficulty credits for every hash they calculate. For example, in the command line above, 0.25 credits per hash. A client mining at 100 H/s will therefore get an average of 25 credits per second. For reference, in the current implementation, a credit is enough to sync 20 blocks, so a 100 H/s client that's just starting to use Monero and uses this daemon will be able to sync 500 blocks per second. The wallet can be set to automatically mine if connected to a daemon which requires payment for RPC usage. It will try to keep a balance of 50000 credits, stopping mining when it's at this level, and starting again as credits are spent. With the example above, a new client will mine this much credits in about half an hour, and this target is enough to sync 500000 blocks (currently about a third of the monero blockchain). There are three new settings in the wallet: - credits-target: this is the amount of credits a wallet will try to reach before stopping mining. The default of 0 means 50000 credits. - auto-mine-for-rpc-payment-threshold: this controls the minimum credit rate which the wallet considers worth mining for. If the daemon credits less than this ratio, the wallet will consider mining to be not worth it. In the example above, the rate is 0.25 - persistent-rpc-client-id: if set, this allows the wallet to reuse a client id across runs. This means a public node can tell a wallet that's connecting is the same as one that connected previously, but allows a wallet to keep their credit balance from one run to the other. Since the wallet only mines to keep a small credit balance, this is not normally worth doing. However, someone may want to mine on a fast server, and use that credit balance on a low power device such as a phone. If left unset, a new client ID is generated at each wallet start, for privacy reasons. To mine and use a credit balance on two different devices, you can use the --rpc-client-secret-key switch. A wallet's client secret key can be found using the new rpc_payments command in the wallet. Note: anyone knowing your RPC client secret key is able to use your credit balance. The wallet has a few new commands too: - start_mining_for_rpc: start mining to acquire more credits, regardless of the auto mining settings - stop_mining_for_rpc: stop mining to acquire more credits - rpc_payments: display information about current credits with the currently selected daemon The node has an extra command: - rpc_payments: display information about clients and their balances The node will forget about any balance for clients which have been inactive for 6 months. Balances carry over on node restart.
2019-10-24daemon: print difficulty in decimal, as it used to bemoneromooo-monero1-8/+8
It got switched to hexadecimal when we went to 128 bit values
2019-10-24Merge pull request #6001luigi11111-1/+2
705edd8 daemon: fix coinbase txes always being seen as pruned (moneromooo-monero)
2019-10-24Merge pull request #6000luigi11111-1/+2
641c9cf daemon: add miner tx hash in print_block output (moneromooo-monero)
2019-10-22Merge pull request #5989luigi11111-1/+1
4f583d5 daemon: fix print_pl synopsis missing recent options (moneromooo-monero)
2019-10-18daemon: fix coinbase txes always being seen as prunedmoneromooo-monero1-1/+2
2019-10-18daemon: add miner tx hash in print_block outputmoneromooo-monero1-1/+2
2019-10-15daemon: fix print_pl synopsis missing recent optionsmoneromooo-monero1-1/+1
2019-10-07Print cdifficulty and don't serialize miner tx hash twiceDoyle1-0/+1
2019-09-24Merge pull request #5878luigi11111-11/+0
f9b3f6e Removed Berkeley DB and db switching logic (JesusRami)
2019-09-16Removed Berkeley DB and db switching logicJesus Ramirez1-11/+0
2019-09-14Merge pull request #5868luigi11111-1/+1
1f1fff2 daemon: print mining algorithm in mining_status even when not mining (moneromooo-monero)
2019-09-08Merge pull request #5849luigi11113-7/+22
b51f4cd daemon: add pruned and publicrpc flags to print_pl (moneromooo-monero)
2019-09-08Merge pull request #5840luigi11115-0/+64
063eebb daemon: implement 'set_bootstrap_daemon' command (xiphon)
2019-09-08Merge pull request #5830luigi11111-1/+1
5a4c6cc daemon: fix merge error removing the 'never seen before' timestamp check (moneromooo-monero)
2019-08-28simplewallet: lock console on inactivitymoneromooo-monero1-6/+2
2019-08-28daemon: print mining algorithm in mining_status even when not miningmoneromooo-monero1-1/+1
2019-08-23daemon: add pruned and publicrpc flags to print_plmoneromooo-monero3-7/+22
2019-08-23daemon: implement 'set_bootstrap_daemon' commandxiphon5-0/+64
2019-08-20daemon: fix merge error removing the "never seen before" timestamp checkmoneromooo-monero1-1/+1
2019-08-19daemon: fix print_pl only printing public zone peersmoneromooo-monero1-7/+6
2019-08-15Merge pull request #5659luigi11111-17/+40
6bb2797 daemon: print 128bit diff properly (stoffu)
2019-08-14Merge pull request #5525luigi11113-7/+92
0605406 daemon: sort alt chains by height (moneromooo-monero) 4228ee0 daemon: add optional arguments to alt_chain_info (moneromooo-monero) 880ebfd daemon: add more chain specific info in alt_chain_info (moneromooo-monero)
2019-07-31Add IPv6 supportThomas Winget1-1/+1
new cli options (RPC ones also apply to wallet): --p2p-bind-ipv6-address (default = "::") --p2p-bind-port-ipv6 (default same as ipv4 port for given nettype) --rpc-bind-ipv6-address (default = "::1") --p2p-use-ipv6 (default false) --rpc-use-ipv6 (default false) --p2p-require-ipv4 (default true, if ipv4 bind fails and this is true, will not continue even if ipv6 bind successful) --rpc-require-ipv4 (default true, description as above) ipv6 addresses are to be specified as "[xx:xx:xx::xx:xx]:port" except in the cases of the cli args for bind address. For those the square braces can be omitted.
2019-07-30daemon: print 128bit diff properlystoffu1-17/+40
2019-07-24Merge pull request #5597luigi11114-14/+28
343c0b4 add a command line option to disable ZMQ server (jtgrassie)
2019-07-24Merge pull request #5595luigi11111-0/+15
2aa1134 daemon: display peer address type in print_cn (moneromooo-monero)
2019-07-24Merge pull request #5588luigi11111-0/+1
cd720c7 add cumulative difficulty to diff command (wowario)
2019-07-24Merge pull request #5582luigi11113-16/+26
fcfcc3a rpc: in/out peers can now return the setting's value (moneromooo-monero)
2019-07-24Merge pull request #5573luigi11111-1/+1
c07bbd5 daemon: fix 'never seen before' time span display for peers (moneromooo-monero)
2019-07-24Merge pull request #5530luigi11115-83/+0
6abaaaa remove obsolete save_graph skeleton code (moneromooo-monero)
2019-07-16allow blocking whole subnetsmoneromooo-monero5-16/+60
2019-06-01add a command line option to disable ZMQ serverJethro Grassie4-14/+28
2019-06-01daemon: add more chain specific info in alt_chain_infomoneromooo-monero1-0/+44
2019-05-31daemon: display peer address type in print_cnmoneromooo-monero1-0/+15
2019-05-30rpc: in/out peers can now return the setting's valuemoneromooo-monero3-16/+26
2019-05-30add cumulative difficulty to diff commandwowario1-0/+1
2019-05-24daemon: fix "never seen before" time span display for peersmoneromooo-monero1-1/+1
2019-05-22Add ssl_options support to monerod's rpc mode.Lee Clagett8-5/+19
2019-05-10remove obsolete save_graph skeleton codemoneromooo-monero5-83/+0
2019-05-09daemon: add optional arguments to alt_chain_infomoneromooo-monero3-8/+47
>N limits display to alt chains with more than N blocks -N limits display to alt chains younger than N blocks
2019-05-09daemon: sort alt chains by heightmoneromooo-monero1-1/+3
2019-05-02blockchain: keep a rolling long term block weight medianmoneromooo-monero1-1/+1
2019-04-16daemon: fix absolute/relative log file test for windowsmoneromooo-monero1-5/+1
2019-04-16Merge pull request #5446Riccardo Spagni1-1/+1
7d79222f daemon: remove debug info (moneromooo-monero) 8fec0f98 functional_tests: add sweep_single test (moneromooo-monero) 9880d61b wallet_rpc_server: remove unused code (moneromooo-monero) 8a61b33d rpc: omit irrelevant fields for pool txes in gettransactions (moneromooo-monero) 56508524 rpc: add relayed in get_transaction output (moneromooo-monero) 82e510f1 rpc: set default log category in core_rpc_server.h (moneromooo-monero)
2019-04-16Merge pull request #5441Riccardo Spagni1-1/+1
b3648232 daemon: fix ratio not being floating point (moneromooo-monero) e1b097b9 core_rpc_server: remove dummy assigning int to bool (moneromooo-monero)
2019-04-15daemon: remove debug infomoneromooo-monero1-1/+1
2019-04-14daemon: fix ratio not being floating pointmoneromooo-monero1-1/+1
Coverity 197648
2019-04-13daemon: if a log file has a /, interpret it from the cwdmoneromooo-monero1-1/+6
rather than from data dir where it normally is. It makes things like --log-file ./foo.log behave as you'd expect.
2019-04-11Merge pull request #5378Riccardo Spagni1-1/+1
eda2661a Allow pruning before v10 (moneromooo-monero)
2019-04-04wallet: new option to start background miningmoneromooo-monero1-4/+5
The setup-background-mining option can be used to select background mining when a wallet loads. The user will be asked the first time the wallet is created.
2019-04-01Merge pull request #5327Riccardo Spagni5-0/+76
c23ea796 New interactive daemon command 'print_net_stats': Global traffic stats (rbrunner7)
2019-04-01Allow pruning before v10moneromooo-monero1-1/+1
This check is now not needed anymore, and would prevent people from using --prune-blockchain when starting a new sync
2019-03-24New interactive daemon command 'print_net_stats': Global traffic statsrbrunner75-0/+76
2019-03-20daemon: init public_port in all ctorsmoneromooo-monero1-0/+2
Coverity 196596
2019-03-17Merge pull request #5190Riccardo Spagni7-8/+85
551104fb daemon: add --public-node mode, RPC port propagation over P2P (xiphon)
2019-03-17Merge pull request #5185Riccardo Spagni5-1/+90
59478c80 daemon: new mining_status command (moneromooo-monero)
2019-03-09daemon: new mining_status commandmoneromooo-monero5-1/+90
2019-03-05Update 2019 copyrightbinaryFate17-17/+17
2019-03-04Merge pull request #5125Riccardo Spagni2-5/+12
8298f42e miner: it can now autodetect the optimal number of threads (moneromooo-monero)
2019-03-04Merge pull request #4054Riccardo Spagni1-0/+2
24569454 epee: add SSL support (moneromooo-monero)
2019-03-04ArticMine's new block weight algorithmmoneromooo-monero1-0/+1
This curbs runaway growth while still allowing substantial spikes in block weight Original specification from ArticMine: here is the scaling proposal Define: LongTermBlockWeight Before fork: LongTermBlockWeight = BlockWeight At or after fork: LongTermBlockWeight = min(BlockWeight, 1.4*LongTermEffectiveMedianBlockWeight) Note: To avoid possible consensus issues over rounding the LongTermBlockWeight for a given block should be calculated to the nearest byte, and stored as a integer in the block itself. The stored LongTermBlockWeight is then used for future calculations of the LongTermEffectiveMedianBlockWeight and not recalculated each time. Define: LongTermEffectiveMedianBlockWeight LongTermEffectiveMedianBlockWeight = max(300000, MedianOverPrevious100000Blocks(LongTermBlockWeight)) Change Definition of EffectiveMedianBlockWeight From (current definition) EffectiveMedianBlockWeight = max(300000, MedianOverPrevious100Blocks(BlockWeight)) To (proposed definition) EffectiveMedianBlockWeight = min(max(300000, MedianOverPrevious100Blocks(BlockWeight)), 50*LongTermEffectiveMedianBlockWeight) Notes: 1) There are no other changes to the existing penalty formula, median calculation, fees etc. 2) There is the requirement to store the LongTermBlockWeight of a block unencrypted in the block itself. This is to avoid possible consensus issues over rounding and also to prevent the calculations from becoming unwieldy as we move away from the fork. 3) When the EffectiveMedianBlockWeight cap is reached it is still possible to mine blocks up to 2x the EffectiveMedianBlockWeight by paying the corresponding penalty. Note: the long term block weight is stored in the database, but not in the actual block itself, since it requires recalculating anyway for verification.
2019-02-25daemon: add --public-node mode, RPC port propagation over P2Pxiphon7-8/+85
2019-02-23miner: it can now autodetect the optimal number of threadsmoneromooo-monero2-5/+12
2019-02-02epee: add SSL supportmoneromooo-monero1-0/+2
RPC connections now have optional tranparent SSL. An optional private key and certificate file can be passed, using the --{rpc,daemon}-ssl-private-key and --{rpc,daemon}-ssl-certificate options. Those have as argument a path to a PEM format private private key and certificate, respectively. If not given, a temporary self signed certificate will be used. SSL can be enabled or disabled using --{rpc}-ssl, which accepts autodetect (default), disabled or enabled. Access can be restricted to particular certificates using the --rpc-ssl-allowed-certificates, which takes a list of paths to PEM encoded certificates. This can allow a wallet to connect to only the daemon they think they're connected to, by forcing SSL and listing the paths to the known good certificates. To generate long term certificates: openssl genrsa -out /tmp/KEY 4096 openssl req -new -key /tmp/KEY -out /tmp/REQ openssl x509 -req -days 999999 -sha256 -in /tmp/REQ -signkey /tmp/KEY -out /tmp/CERT /tmp/KEY is the private key, and /tmp/CERT is the certificate, both in PEM format. /tmp/REQ can be removed. Adjust the last command to set expiration date, etc, as needed. It doesn't make a whole lot of sense for monero anyway, since most servers will run with one time temporary self signed certificates anyway. SSL support is transparent, so all communication is done on the existing ports, with SSL autodetection. This means you can start using an SSL daemon now, but you should not enforce SSL yet or nothing will talk to you.
2019-01-28Merge pull request #5062Riccardo Spagni1-3/+3
acfff8d0 rpc: fix internal daemon calls in restricted rpc getting partial data (moneromooo-monero)
2019-01-28rpc: fix internal daemon calls in restricted rpc getting partial datamoneromooo-monero1-3/+3
2019-01-28Merge pull request #5080Riccardo Spagni4-8/+44
d294a577 daemon: extend 'print_pl' command, optional filter by type and limit (xiphon)
2019-01-22Pruningmoneromooo-monero5-13/+151
The blockchain prunes seven eighths of prunable tx data. This saves about two thirds of the blockchain size, while keeping the node useful as a sync source for an eighth of the blockchain. No other data is currently pruned. There are three ways to prune a blockchain: - run monerod with --prune-blockchain - run "prune_blockchain" in the monerod console - run the monero-blockchain-prune utility The first two will prune in place. Due to how LMDB works, this will not reduce the blockchain size on disk. Instead, it will mark parts of the file as free, so that future data will use that free space, causing the file to not grow until free space grows scarce. The third way will create a second database, a pruned copy of the original one. Since this is a new file, this one will be smaller than the original one. Once the database is pruned, it will stay pruned as it syncs. That is, there is no need to use --prune-blockchain again, etc.
2019-01-18daemon: extend 'print_pl' command, optional filter by type and limitxiphon4-8/+44
2019-01-16Merge pull request #5019Riccardo Spagni3-7/+23
65ce387c daemon: add a +hex option to print_block (moneromooo-monero)
2018-12-26daemon: add a +hex option to print_blockmoneromooo-monero3-7/+23
2018-12-26daemon: print human friendly timestamp toomoneromooo-monero1-2/+2
2018-12-12Merge pull request #4925Riccardo Spagni1-10/+10
ab783b17 easylogging++: ensure logger is initialized before main (moneromooo-monero) 9b69a0ae daemon: print monero version at startup when calling a detached daemon (moneromooo-monero) 4d71d463 mlocker: remove early page size log (moneromooo-monero)
2018-12-12Merge pull request #4923Riccardo Spagni1-2/+0
aba9a9c2 daemon: stop miner before we bring the whole thing down (moneromooo-monero)
2018-12-12Merge pull request #4903Riccardo Spagni5-0/+62
dc1c1252 add command pop_blocks (Jason Wong)
2018-12-04Merge pull request #4894Riccardo Spagni1-16/+1
aee7a4e3 wallet_rpc_server: do not use RPC data if the call failed (moneromooo-monero) 1a0733e5 windows_service: fix memory leak (moneromooo-monero) 0dac3c64 unit_tests: do not rethrow a copy of an exception (moneromooo-monero) 5d9915ab cryptonote: fix get_unit for non default settings (moneromooo-monero) d4f50cb1 remove some unused code (moneromooo-monero) 61163971 a few minor (but easy) performance tweaks (moneromooo-monero) 30023074 tests: slow_memmem now returns size_t (moneromooo-monero)
2018-12-04Merge pull request #4859Riccardo Spagni2-7/+3
6f2497bc Don't cache nettype in core_rpc_server use m_core (doy-lee)
2018-11-30daemon: print monero version at startup when calling a detached daemonmoneromooo-monero1-10/+10
So people who want a timstamp get a timestamp
2018-11-30daemon: stop miner before we bring the whole thing downmoneromooo-monero1-2/+0
This avoids the miner erroring out trying to submit blocks to a core that's already shut down (and avoids pegging the CPU while we're busy shutting down).
2018-11-28add command pop_blocksJason Wong5-0/+62
add new public method to Blockchain and update according to code review update after review: better lock/unlock, try catch and coding style
2018-11-23remove some unused codemoneromooo-monero1-16/+1
Found by codacy.com
2018-11-16Merge pull request #4777Riccardo Spagni1-4/+4
c17a1d43 daemon: use msg_writer, not cout, to display information (moneromooo-monero)
2018-11-16Don't cache nettype in core_rpc_server use m_coredoy-lee2-7/+3
This can go out of sync with m_core's nettype if you run in fakechain mode since entering fakechain mode is done through code not the command line and core_rpc_server only looks at the command line to figure out the nettype.
2018-11-01daemon: use msg_writer, not cout, to display informationmoneromooo-monero1-4/+4
2018-11-01Merge pull request #4648Riccardo Spagni1-1/+13
a7bffead daemon: fix base fee stating /kB even when it is per byte (moneromooo-monero)
2018-10-26Merge pull request #4609Riccardo Spagni1-1/+1
e54e5668 daemon: Show mining address (Ricardo de Vries)
2018-10-26Merge pull request #4536Riccardo Spagni2-19/+10
fd62b6e7 blocks: use auto-generated .c files instead of 'LD -r -b binary' (xiphon)
2018-10-22blocks: use auto-generated .c files instead of 'LD -r -b binary'xiphon2-19/+10
2018-10-19daemon: fix base fee stating /kB even when it is per bytemoneromooo-monero1-1/+13
2018-10-18daemon: Show mining addressRicardo de Vries1-1/+1
2018-10-15daemon: fix reading past stack on exitmoneromooo-monero1-5/+10
2018-10-12daemon: do not run complex code in a signal handlermoneromooo-monero1-1/+8
instead, delegate the work to a one off thread and notify it from the signal handler
2018-10-08Revert "Merge pull request #4472"Riccardo Spagni2-10/+19
This reverts commit 79d46c4d551a9b1261801960095bf4d24967211a, reversing changes made to c9fc61dbb56cca442c775faa2554a7460879b637.
2018-10-04blocks: use auto-generated .c files instead of 'LD -r -b binary'xiphon2-19/+10
2018-10-02Merge pull request #4485Riccardo Spagni1-5/+15
5ec929fb daemon: do not display uptime when not known (moneromooo-monero)
2018-10-02daemon: do not display uptime when not knownmoneromooo-monero1-5/+15
2018-09-29Fix 32bit depends buildsTheCharlatan1-0/+2
Add architecture flags when cmake invokes gcc manually. Add 32bit to Travis.
2018-09-18Merge pull request #4341Riccardo Spagni1-0/+2
e6117282 daemon: request no PoW hashes we don't need when asking for blocks (moneromooo-monero)
2018-09-18Merge pull request #4317Riccardo Spagni1-2/+5
76f95f05 rpc: allow to pass RPC login via RPC_LOGIN env var (Dusan Klinec)
2018-09-18Merge pull request #3430Riccardo Spagni1-1/+3
42397359 Fixup 32bit arm build (TheCharlatan) a06d2581 Fix Windows build (TheCharlatan) ecaf5b3f Add libsodium to the packages, the arm build was complaining about it. (TheCharlatan) cbbf4d24 Adapt translations to upstream changes (TheCharlatan) db571546 Updated pcsc url (TheCharlatan) f0ba19fd Add lrelease to the depends (TheCharlatan) cfb30462 Add Miniupnp submodule (TheCharlatan) 5f7da005 Unbound is now a submodule. Adapt depends for this. (TheCharlatan) d6b9bdd3 Update readmes to reflect the usage of depends (TheCharlatan) 56b6e41e Add support for apple and arm building (TheCharlatan) 29311fd1 Disable stack unwinding for mingw32 depends build. (TheCharlatan) 8db3d573 Modify depends for monero's dependencies (TheCharlatan) 0806a23a Initial depends addition (TheCharlatan)
2018-09-11v8: per byte fee, pad bulletproofs, fixed 11 ring sizemoneromooo-monero1-12/+15
2018-09-10Add support for apple and arm buildingTheCharlatan1-1/+3
Add pcsc-lite to linux builds Fixup windows icu4c linking with depends, the static libraries have an 's' appended to them Compiling depends arm-linux-gnueabihf will allow you to compile armv6zk monero binaries
2018-09-05daemon: request no PoW hashes we don't need when asking for blocksmoneromooo-monero1-0/+2
This fixes the horrendous slowdown in bc_dyn_stats
2018-08-31rpc: allow to pass RPC login via RPC_LOGIN env varDusan Klinec1-2/+5
- passing by parameter is insecure as it is shown in the process list
2018-07-24daemon.print_bc: don't print difficulty twicestoffu1-1/+1
2018-07-19Merge pull request #4075luigi11111-1/+0
438d52d remove epee from link lines where it's redundant (moneromooo-monero)
2018-07-19Merge pull request #4029luigi11111-1/+3
bd9e4e3 daemon: show a bit more info with print_block (stoffu)
2018-07-19Merge pull request #3973luigi11114-10/+31
50af357 alt_chain_info can now give more info about a particular alt chain (moneromooo-monero)
2018-07-19Merge pull request #3854luigi11112-3/+5
149da42 db_lmdb: enable batch transactions by default (stoffu) 34cb6b4 add --regtest and --fixed-difficulty for regression testing (vicsn) 9e1403e update get_info RPC and bump RPC version (vicsn) 207b66e first new functional tests (vicsn)
2018-06-29add --regtest and --fixed-difficulty for regression testingvictorsintnicolaas2-3/+5
on_generateblocks RPC call combines functionality from the on_getblocktemplate and on_submitblock RPC calls to allow rapid block creation. Difficulty is set permanently to 1 for regtest. Makes use of FAKECHAIN network type, but takes hard fork heights from mainchain Default reserve_size in generate_blocks RPC call is now 1. If it is 0, the following error occurs 'Failed to calculate offset for'. Queries hard fork heights info of other network types
2018-06-28remove epee from link lines where it's redundantmoneromooo-monero1-1/+0
For some reason, this confuses and kills ASAN on startup as it thinks const uint8_t ipv4_network_address::ID is defined multiple times.
2018-06-26alt_chain_info can now give more info about a particular alt chainmoneromooo-monero4-10/+31
2018-06-20Merge pull request #3897luigi11112-1/+7
63d0ab0 mlog: --max-log-files to set the max number of rotated log files (stoffu)
2018-06-20Merge pull request #3888luigi11111-0/+3
1aae39d daemon: fix readline interfering with std::cerr usage (moneromooo-monero)
2018-06-20Merge pull request #3757luigi11111-2/+17
6f9260e handle optional miner params better (cryptochangements34)
2018-06-20daemon: show a bit more info with print_blockstoffu1-1/+3
2018-06-19Merge pull request #3851luigi11111-1/+1
a87980f fix build with GCC 8.1.0 (moneromooo-monero)
2018-06-16Merge pull request #3725luigi11111-1/+1
9cc0d42 connection_context: remove state_ prefix from state names (moneromooo-monero) d9d002c daemon: print peer state in sync_info (moneromooo-monero)
2018-06-13mlog: --max-log-files to set the max number of rotated log filesstoffu2-1/+7
2018-05-31Merge pull request #3583luigi11111-1/+1
372ffeb Add a space in mining to testnet/stagenet string (cryptochangements34)
2018-05-31Merge pull request #3561luigi11111-0/+3
353e9c0 Core RPC: optionally add POW hash to block_header_response (stoffu)
2018-05-31daemon: fix readline interfering with std::cerr usagemoneromooo-monero1-0/+3
Once readline is initialized, std::cerr's operator<< will output a 0xff byte for unknown reasons.
2018-05-26fix build with GCC 8.1.0moneromooo-monero1-1/+1
2018-05-19daemon: request unpruned transactions for print_txmoneromooo-monero1-0/+1
instead of uninitialized
2018-05-06handle optional miner params bettercryptochangements341-2/+17
2018-04-28daemon: print peer state in sync_infomoneromooo-monero1-1/+1
It's often relevant
2018-04-25Fix broken interactive daemon 'limit' commands plus RPC callsrbrunner72-12/+6
2018-04-21Merge pull request #3636Riccardo Spagni1-23/+22
998c1461 daemon: read config file before reading any other args (stoffu)
2018-04-14daemon: read config file before reading any other argsstoffu1-23/+22
2018-04-13daemon: add a version commandmoneromooo-monero3-0/+14
2018-04-08Add a space in mining to testnet/stagenet stringcryptochangements341-1/+1
2018-04-05Core RPC: optionally add POW hash to block_header_responsestoffu1-0/+3
2018-03-27fix lambda compile error on openbsdmoneromooo-monero1-3/+3
2018-03-15Fix typos in various filesDimitris Apostolou1-1/+1
2018-03-05Stagenetstoffu8-40/+74
2018-02-16options: add testnet option dependencieswhythat2-13/+27
2018-02-16options: remove testnet-* optionswhythat4-32/+10
2018-02-16Merge pull request #3181Riccardo Spagni2-3/+3
e3f0980a daemon: don't drop RPC with busy error when running offline (moneromooo-monero)
2018-02-16Merge pull request #3165Riccardo Spagni1-4/+21
7539603f Bootstrap daemon (stoffu)
2018-02-16Merge pull request #3163Riccardo Spagni5-3/+62
628b78ae Fix in_peers/out_peers RPC operations (Erik de Castro Lopo) ece9bcf5 rpc_client: Fix error handling (Erik de Castro Lopo) 8f30350d Fix method name in invoke_http_json_rpc (Erik de Castro Lopo) 32c0f908 Allow the number of incoming connections to be limited (Erik de Castro Lopo) d609a2c1 Rename delete_connections to delete_out_connections (Erik de Castro Lopo) b927c0fc Rename connections_count to max_out_connection_count (Erik de Castro Lopo)
2018-02-16Merge pull request #3161Riccardo Spagni1-1/+1
78a2e15b daemon: exit with 0 when successful (moneromooo-monero)
2018-02-16Merge pull request #3094Riccardo Spagni1-9/+9
a85dbb3f Fixed typos and wording tweaks (Maxithi)
2018-01-30Bootstrap daemonstoffu1-4/+21
2018-01-29Fixed typos and wording tweaksMaxithi1-9/+9
2018-01-29Fix in_peers/out_peers RPC operationsErik de Castro Lopo1-2/+2
Original implementations could never have worked.
2018-01-29Allow the number of incoming connections to be limitedErik de Castro Lopo5-2/+61
It was already possible to limit outgoing connections. One might want to do this on home network connections with high bandwidth but low usage caps.
2018-01-26Update 2018 copyrightxmr-eric17-17/+17
2018-01-25Merge pull request #3011Riccardo Spagni1-1/+1
619bb723 daemon+simplewallet: given an unknown command, show it (stoffu)
2018-01-25daemon: don't drop RPC with busy error when running offlinemoneromooo-monero2-3/+3
2018-01-20daemon: exit with 0 when successfulmoneromooo-monero1-1/+1
2018-01-11Keep readline optionalJethro Grassie1-1/+1
2017-12-31Add misc hardening flags to the cmake machinerymoneromooo-monero1-2/+2
See https://wiki.debian.org/Hardening#User_Space
2017-12-28Merge pull request #2946Riccardo Spagni1-1/+1
1a686bf8 daemon: print num txes in print_bc (moneromooo-monero)
2017-12-28Merge pull request #2945Riccardo Spagni4-5/+2
9e07ccf1 daemon: remove some superfluous includes (moneromooo-monero)
2017-12-27daemon+simplewallet: given an unknown command, show itstoffu1-1/+1
2017-12-18use const refs in for loops for non tiny typesmoneromooo-monero1-1/+1
2017-12-18catch const exceptionsmoneromooo-monero1-3/+3
2017-12-17daemon: print num txes in print_bcmoneromooo-monero1-1/+1
2017-12-17Merge pull request #2877Riccardo Spagni3-2/+15
43f5269f Wallets now do not depend on the daemon rpc lib (moneromooo-monero) bb89ae8b move connection_basic and network_throttle from src/p2p to epee (moneromooo-monero) 4abf25f3 cryptonote_core does not depend on p2p anymore (moneromooo-monero)
2017-12-17daemon: remove some superfluous includesmoneromooo-monero4-5/+2
2017-12-16cryptonote_core does not depend on p2p anymoremoneromooo-monero3-2/+15
As a followon side effect, this makes a lot of inline code included only in particular cpp files (and instanciated when necessary.
2017-12-16move includes around to lessen overall loadmoneromooo-monero4-2/+3
2017-12-02Merge pull request #2836Riccardo Spagni2-25/+43
23b6f685 RPC: allow binding of restricted port in addition to core port (Tim L)
2017-11-26Added command descriptionsCifrado2-47/+90
2017-11-25Merge pull request #2807Riccardo Spagni1-1/+1
61712384 daemon & simplewallet: don't set max-concurrency when unspecified (stoffu)
2017-11-20Merge pull request #2783Riccardo Spagni1-0/+4
416a7933 Print msg upon success for commands that were silent (binaryFate)
2017-11-17RPC: allow binding of restricted port in addition to core portTim L2-25/+43
2017-11-16daemon & simplewallet: don't set max-concurrency when unspecifiedstoffu1-1/+1
2017-11-14Merge pull request #2736Riccardo Spagni3-7/+12
0d9c0db9 Do not build against epee_readline if it was not built (Howard Chu) 178014c9 split off readline code into epee_readline (moneromooo-monero) a9e14a19 link against readline only for monerod and wallet-wallet-{rpc,cli} (moneromooo-monero) 437421ce wallet: move some scoped_message_writer calls from the libs (moneromooo-monero) e89994e9 wallet: rejig to avoid prompting in wallet2 (moneromooo-monero) ec5135e5 move input_line from command_line to simplewallet (moneromooo-monero) 082db75f move cryptonote command line options to cryptonote_core (moneromooo-monero)
2017-11-14Do not build against epee_readline if it was not builtHoward Chu1-1/+1
2017-11-14split off readline code into epee_readlinemoneromooo-monero1-0/+2
2017-11-14link against readline only for monerod and wallet-wallet-{rpc,cli}moneromooo-monero1-0/+1
2017-11-14wallet: rejig to avoid prompting in wallet2moneromooo-monero1-1/+6
wallet2 is a library, and should not prompt for stdin. Instead, pass a function so simplewallet can prompt on stdin, and a GUI might display a window, etc.
2017-11-14move cryptonote command line options to cryptonote_coremoneromooo-monero2-6/+3
Those have no reason to be in a generic module
2017-11-14remove "using namespace std" from headersmoneromooo-monero1-1/+1
It's nasty, and actually breaks on Solaris, where if.h fails to build due to: struct map *if_memmap;
2017-11-14Merge pull request #2615Riccardo Spagni1-3/+3
10013e94 Protect node privacy by proper filtering in restricted-mode RPC answers (binaryFate)
2017-11-10Print msg upon success for commands that were silentbinaryFate1-0/+4
2017-11-08Protect node privacy by proper filtering in restricted-mode RPC answersbinaryFate1-3/+3
This patch allows to filter out sensitive information for queries that rely on the pool state, when running in restricted mode. This filtering is only applied to data sent back to RPC queries. Results of inline commands typed locally in the daemon are not affected. In practice, when running with `--restricted-rpc`: * get_transaction_pool will list relayed transactions with the fields "last relayed time" and "received time" set to zero. * get_transaction_pool will not list transaction that have do_not_relay set to true, and will not list key images that are used only for such transactions * get_transaction_pool_hashes.bin will not list such transaction * get_transaction_pool_stats will not count such transactions in any of the aggregated values that are computed The implementation does not make filtering the default, so developers should be mindful of this if they add new RPC functionality. Fixes #2590.
2017-11-06track double spending in the txpoolmoneromooo-monero1-1/+3
Transactions in the txpool are marked when another transaction is seen double spending one or more of its inputs. This is then exposed wherever appropriate. Note that being marked with this "double spend seen" flag does NOT mean this transaction IS a double spend and will never be mined: it just means that the network has seen at least another transaction spending at least one of the same inputs, so care should be taken to wait for a few confirmations before acting upon that transaction (ie, mostly of use for merchants wanting to accept unconfirmed transactions).
2017-11-06Merge pull request #2591Riccardo Spagni4-22/+43
93ad1f87 Fix #2559: more flexible print_tx daemon command (binaryFate)
2017-10-15Merge pull request #2599Riccardo Spagni3-11/+26
b776c725 daemon: use @N syntax to output_histogram for specific amounts (moneromooo-monero)
2017-10-15Merge pull request #2589Riccardo Spagni1-2/+2
8f0cea63 add a command_line function to check for defaulted options (moneromooo-monero)
2017-10-15Merge pull request #2573Riccardo Spagni1-6/+13
7e7acdc3 daemon: catch out of range exceptions too when calling stoll/stoi (moneromooo-monero)
2017-10-15Merge pull request #2568Riccardo Spagni1-1/+1
7130cf0c Add tools::on_startup, and warn about glibc 2.25 bug if found (moneromooo-monero)
2017-10-14Add tools::on_startup, and warn about glibc 2.25 bug if foundmoneromooo-monero1-1/+1
https://sourceware.org/bugzilla/show_bug.cgi?id=21778
2017-10-08Fix #2559: more flexible print_tx daemon commandbinaryFate4-22/+43
2017-10-07daemon: use @N syntax to output_histogram for specific amountsmoneromooo-monero3-11/+26
Makes debugging tx verification easier
2017-10-07Subaddresseskenshi842-9/+12
2017-10-06add a command_line function to check for defaulted optionsmoneromooo-monero1-2/+2
2017-10-03daemon: catch out of range exceptions too when calling stoll/stoimoneromooo-monero1-6/+13
And any other exception, just to be safe
2017-10-02Merge pull request #2512Riccardo Spagni3-3/+8
792ba4f0 Log categories can now be added to and removed from (moneromooo-monero) 48f92eb6 easylogging++: add categories getter (moneromooo-monero) f35afe62 epee: factor log level/categories setting (moneromooo-monero)
2017-10-02Merge pull request #2470Riccardo Spagni3-52/+118
2e59f6ea rpc: add new RPCs to get and set limits (MaxXor)
2017-09-25Merge pull request #2466Riccardo Spagni1-1/+1
bc429e9c daemon: make this build with boost 1.61 (moneromooo-monero)
2017-09-25Merge pull request #2456Riccardo Spagni2-1/+7
91def9a5 daemon, wallet: add --max-log-file-size option (selsta)
2017-09-25Merge pull request #2424Riccardo Spagni1-0/+1
28b72b6e tx_pool: pre-init tvc.m_verifivation_failed before processing (moneromooo-monero) 50a629b2 core_tests: catch (impossible in practice) tx extra api failure (moneromooo-monero) fee15ef1 wallet2: catch failure to parse address (moneromooo-monero) 1399e26d net_peerlist: remove dead code (moneromooo-monero) 50e09698 tx_pool: guard against failure getting tx hash (moneromooo-monero) 54cc209a wallet_rpc_server: catch failure to create directory (moneromooo-monero) 3e55099c wallet_rpc_server: init m_vm to NULL in ctor (moneromooo-monero) 7d0dde5e wallet_args: remove redundant default value for --log-file (moneromooo-monero) ed4a3350 wallet2: catch failure to save keys file (moneromooo-monero) 44434c8a wallet2_api: check whether dynamic_cast returns NULL (moneromooo-monero) 92f2f687 core: check return value from parse_hexstr_to_binbuff (moneromooo-monero) 5475692e wallet2_api: remove an unused, uninitialized, field (moneromooo-monero) a7ba3de1 libwallet_api_tests: initialize newblock_triggered on reset (moneromooo-monero) b2763ace wallet2_api: init error code to "no error" in the ctor (moneromooo-monero) b5faac53 get_blockchain_top now returns void (moneromooo-monero) 2e44d8f2 wallet_rpc_server: guard against exceptions (moneromooo-monero) 4230876b simplewallet: guard against I/O exceptions (moneromooo-monero) 06c1e057 daemon: initialize decode_as_json in RPC request (moneromooo-monero) 11f71af5 http_base: init size_t in http_request_info ctor (moneromooo-monero)
2017-09-25Merge pull request #2442Riccardo Spagni1-1/+1
e29282d2 build: auto update version info without manually deleting version.h (stoffu)
2017-09-25daemon: initialize decode_as_json in RPC requestmoneromooo-monero1-0/+1
CID 161886