Commit Graph

2920 Commits

Author SHA1 Message Date
Miguel Freitas
198c85f8ae newrtmsg command working. requires original post json object "v" (containing userpost/sig_userpost) 2013-09-18 23:09:51 -03:00
Miguel Freitas
2246f67f99 implement RT signature checking 2013-09-18 21:57:37 -03:00
Miguel Freitas
98903d5a73 keep track of last "have" for each torrent 2013-09-18 08:47:26 -03:00
Miguel Freitas
cefb94e321 allow bitfield with different number of pieces 2013-09-17 07:24:27 -03:00
miguel
ef084487f4 fix torrent/swarm path and add resume file 2013-09-03 07:08:07 -03:00
miguel
f422868103 implement sending message to mention, hashtags, repliesXX and postXX 2013-08-30 14:01:57 -03:00
miguel
b9c5b90e4d error handling in newpostmsg and newdirectmsg implemented 2013-08-20 21:08:18 -03:00
miguel
5112e73a07 newpostmsg command, working. 2013-08-20 12:18:03 -03:00
miguel
4f51727c1b use bitcoin network time reference, dm creation draft 2013-08-18 22:01:36 -03:00
miguel
07b165d5f3 first draft of createSignedUserpost 2013-08-18 21:05:23 -03:00
miguel
cc2588ae41 refactoring acceptSignedPost 2013-08-18 20:33:54 -03:00
miguel
6b9c27048e partial untested torrent chages. will use leveldb for storage, no more multi-files per torrent, number of pieces may increase. 2013-08-17 20:12:44 -03:00
Miguel Freitas
7af7927f5d some more debuging to make sure new dht announce x torrent peers is working 2013-08-11 21:45:45 -03:00
Miguel Freitas
4513fee3e5 use the right torrent port from the start, not need to change it later 2013-08-11 20:41:47 -03:00
Miguel Freitas
d6215c7c9f do not add unknown torrents (unkown user) 2013-08-11 19:53:45 -03:00
Miguel Freitas
24fd6a6a8a start torrent automatically for neighbor of tracker 2013-08-11 19:45:29 -03:00
Miguel Freitas
82ea843b46 make block signature compatible with the rest 2013-08-09 10:14:43 -03:00
Miguel Freitas
396b46914e convert encryption api to use std::string 2013-08-09 07:41:46 -03:00
Miguel Freitas
f6639dd11b include implementation for ECIES (ECC + AES + SHA) for asymetric encryption 2013-08-09 00:12:16 -03:00
Miguel Freitas
2aa71205d4 possiblyNeighbor is authoritative for false, so we may trust it to NOT store putData value.
someone might be trying to attack this resource by storing value into non-final nodes.
2013-08-08 13:55:45 -03:00
Miguel Freitas
4154a37a14 add support to detect when our node is neighbor of a special resource (eg. torrent tracker) 2013-08-07 23:17:09 -03:00
Miguel Freitas
a35cdef738 dht_reply_data_done_alert to unlock client waiting for data 2013-08-07 22:47:34 -03:00
Miguel Freitas
3a1d772643 improve dht node added from bitcoin network peers 2013-08-07 20:20:03 -03:00
Miguel Freitas
dea237d2ed implement dht_get_data_alert to detect when we are neighbor of a certain request 2013-08-07 17:40:16 -03:00
Miguel Freitas
8ed88a6eb3 dhtget/dhtput threadsafe 2013-08-07 08:43:50 -03:00
Miguel Freitas
dc36efaa1e convert entry to json 2013-08-06 23:30:09 -03:00
Miguel Freitas
f55f1cceb9 return dhtget data to json 2013-08-06 20:02:45 -03:00
Miguel Freitas
621812c69e improve parameter checking in dhtput 2013-08-06 18:26:53 -03:00
Miguel Freitas
830a02c009 dht get/put kind of working. with json interface. amazing. 2013-08-05 22:33:38 -03:00
Miguel Freitas
b9ebeb9675 try to bootstrap dht nodes from bitcoin network 2013-08-04 22:59:20 -03:00
Miguel Freitas
4c92f24620 fixes to dht server and test_dht 2013-08-04 18:26:45 -03:00
Miguel Freitas
8b3368da1f draft for dht putdata 2013-08-04 16:16:36 -03:00
Miguel Freitas
78e97ac9dc use the same message magic everywhere (to hash) 2013-08-04 11:36:44 -03:00
Miguel Freitas
2bd0f7de12 first draft of transversal algo to get data from dht 2013-08-04 00:17:52 -03:00
Miguel Freitas
0f91f9e867 proper libtorrent stop, session save 2013-08-02 00:43:04 -03:00
Miguel Freitas
187904d1e8 create new twister.cpp with libtorrent initialization 2013-08-01 20:05:00 -03:00
Miguel Freitas
71e0da6705 initialize libtorrent session with external ip set 2013-08-01 17:05:37 -03:00
Miguel Freitas
fb00bb154e first hack compiling bitcoind (twister) + libtorrent 2013-07-31 09:05:12 -03:00
Miguel Freitas
78ba2a5609 another big wallet cleanup 2013-07-25 12:06:56 -03:00
Miguel Freitas
9946d6ed72 mining fixes: add salt to instance and use correct username for signing 2013-07-25 12:06:18 -03:00
Miguel Freitas
f2699c4753 rpcwallet cleanups 2013-07-25 11:26:26 -03:00
Miguel Freitas
927aad13a5 send transation of a new user created in wallet 2013-07-25 10:45:42 -03:00
Miguel Freitas
ad712d5006 fix wrongly erasing of indextx with checklevel==3 2013-07-25 10:43:06 -03:00
Miguel Freitas
f764674865 create/list users in wallet 2013-07-25 09:36:57 -03:00
Miguel Freitas
1c42569648 wallet rpc with username 2013-07-25 08:47:35 -03:00
Miguel Freitas
76f8a901a7 removing stuff 2013-07-24 20:28:23 -03:00
Miguel Freitas
fe57966e05 starting wallet cleanup. added username, renamed to twisterwallet.dat 2013-07-24 19:50:37 -03:00
Miguel Freitas
26bbd5614f remove GetCoins/SetCoins 2013-07-24 18:23:05 -03:00
Miguel Freitas
fe01fd01cb create CScript overload for << string 2013-07-24 16:22:18 -03:00
Miguel Freitas
4d43b4a6f0 fix CreateSpamMsgTx signing (GetHash on CHashWriter cannot be used twice) 2013-07-24 16:08:25 -03:00
Miguel Freitas
b05742d7f9 sign/verify test - not working 2013-07-22 08:47:46 -03:00
Miguel Freitas
84f796be7f fix EraseTxIndex usage 2013-07-21 18:39:20 -03:00
Miguel Freitas
6e1c42e963 tx accepted! 2013-07-20 23:58:56 -03:00
Miguel Freitas
2fa9731108 remove stuff, improve TxToJSON 2013-07-20 20:26:21 -03:00
Miguel Freitas
a6ff5511fa test invalid userhash (might be an invalid tx received from network) 2013-07-20 20:00:30 -03:00
Miguel Freitas
d9fdca340c implement CScript => string extraction, check username constraits, improve username hash 2013-07-20 19:54:48 -03:00
Miguel Freitas
623b80c061 fix missing nHeight field 2013-07-20 16:56:02 -03:00
Miguel Freitas
7fd4a9f585 twister initial printf 2013-07-20 15:42:47 -03:00
Miguel Freitas
4f8b11b070 renamed binary to twisterd 2013-07-20 15:39:36 -03:00
Miguel Freitas
6ff04a0de2 fix genesis block hash 2013-07-20 15:35:57 -03:00
Miguel Freitas
0b753e0ce2 add nHeight to header for mining (a couple of offsets need +4 to work again) 2013-07-19 20:18:55 -03:00
Miguel Freitas
05c7d3f27d fix/improve printf of created tx 2013-07-19 19:54:37 -03:00
Miguel Freitas
1556e436c5 fix -datadir inicialization and debug log 2013-07-19 19:32:57 -03:00
Miguel Freitas
1c4f457312 remove stuff 2013-07-19 16:50:30 -03:00
Miguel Freitas
c13ab7e5d5 comment how/where tx userhashes are checked upon block acceptance 2013-07-19 16:39:12 -03:00
Miguel Freitas
d66994d0f0 new function to create spam message 2013-07-19 16:31:56 -03:00
Miguel Freitas
311b1d7eaa use txIndex instead of coins to keep track of commited tx 2013-07-19 01:00:06 -03:00
Miguel Freitas
4652b9f01b mempool/cinv now indexed by userhash (all tx must be indexed by userhash btw) 2013-07-19 00:00:59 -03:00
Miguel Freitas
b0716cdc3d fTxIndex always true in twister 2013-07-18 18:42:22 -03:00
Miguel Freitas
16a28fc9e9 some notes 2013-07-18 18:36:32 -03:00
miguel
2353123580 remove vtxPrev 2013-07-18 14:51:51 -03:00
Miguel Freitas
7f12546f84 change hash(tx) to hash(username) in ccoins
hash(tx) does not insure uniqueness of username
2013-07-17 18:38:03 -03:00
Miguel Freitas
878d15160f ccoins is now the register element database 2013-07-17 17:48:29 -03:00
Miguel Freitas
d0e83d8803 add spammessage and sign it (untested) 2013-07-17 17:11:14 -03:00
Miguel Freitas
7a47376e40 removing stuff 2013-07-17 15:23:47 -03:00
Miguel Freitas
e70fafc0f9 removing stuff 2013-07-17 15:09:13 -03:00
Miguel Freitas
943bff5921 orphaned tx makes no sense anymore 2013-07-17 14:46:43 -03:00
Miguel Freitas
3cc155526a block creation 2013-07-16 23:53:02 -03:00
Miguel Freitas
97ba3b787c cleaning block/tx checking 2013-07-16 23:36:25 -03:00
Miguel Freitas
41f5e9f846 remove code 2013-07-16 22:19:06 -03:00
Miguel Freitas
27ee7c328b add and verify proof of work in tx. remove some old stuff. 2013-07-16 21:46:36 -03:00
Miguel Freitas
0e863844ed reenable rate limit on tx 2013-07-16 08:59:35 -03:00
Miguel Freitas
5018edc8ca remove txfee 2013-07-16 08:46:22 -03:00
Miguel Freitas
2718ee55bf make genesis block valid and disable gui 2013-07-16 01:11:02 -03:00
Miguel Freitas
9cb71491a6 adds userName to transaction 2013-07-15 21:10:28 -03:00
Miguel Freitas
73e1f33dc8 removed vin and vout from CTransaction
genesis block broken
2013-07-15 20:14:57 -03:00
Pieter Wuille
fb83a79b21 Fix minor backward incompatibility
The key refactor changed the way unencrypted private keys with compressed
public key are stored in the wallet. Apparently older versions relied on
this to verify the correctness of stored keys.

Note that earlier pre-release versions do risk creating wallets that can
not be opened by 0.8.3 and earlier.
2013-07-13 12:57:19 +02:00
Jeff Garzik
d598872726 Merge pull request #2743 from jgarzik/reject-reason
Log reason for non-standard transaction rejection
2013-07-10 08:50:49 -07:00
Jeff Garzik
3b837d5679 Merge pull request #2812 from jgarzik/rpcbestblock
RPC: add getbestblockhash, to return tip of best chain
2013-07-10 08:49:50 -07:00
Gregory Maxwell
204b8af6dc Merge pull request #2796 from gmaxwell/remove_overactive_rand_tests
Make the rand tests determinstic.
2013-07-07 10:09:03 -07:00
Gregory Maxwell
e5c4dfdfc0 Make the rand tests determinstic. (fixes #2714)
This avoids spurious errors with the old tests but still tests
 enough that if the rng is replaced with a totally broken one
 it should still fail.
2013-07-07 09:54:47 -07:00
Jeff Garzik
091aa8dae9 RPC: add getbestblockhash, to return tip of best chain 2013-07-03 11:02:29 -04:00
Pieter Wuille
21cc8bdcbe Fix build date for from-tarball builds 2013-06-29 14:16:50 +02:00
Pieter Wuille
a4f43075d6 Merge pull request #2793 from Diapolo/translations
translation update 2013-06-25
2013-06-26 15:02:28 -07:00
Pieter Wuille
1f2d739ac1 Merge pull request #2174 from CodeShark/sync_macro_clarification
Added comments to sync.h to make it easier to understand the macros
2013-06-26 10:51:33 -07:00
Eric Lombrozo
042da8bc0d Added comments to sync.h to make it easier to understand the macros 2013-06-25 16:54:58 -07:00
Pieter Wuille
4ad73c6b08 Merge pull request #2209 from CodeShark/WalletRegistrationLocks
Wallet registration locks in main.cpp + UnregisterAllWallet() function
2013-06-25 16:33:16 -07:00
Jeff Garzik
481d899794 Merge pull request #2792 from sipa/coreimpl
Move core implementations to core.cpp
2013-06-25 11:52:18 -07:00
Peter Todd
c40a5aaaf4 Truncate oversize 'tx' messages before relaying/storing.
Fixes a memory exhaustion attack on low-memory peers.
2013-06-25 10:37:50 -04:00
Gavin Andresen
2e01ec3207 Merge pull request #2679 from vhf/patch-1
Too many bitcoins allowed as amount. (Issue #2401)
2013-06-25 06:47:53 -07:00
Philip Kaufmann
dae158132d translation update 2013-06-25
- updates bitcoinstrings.cpp and bitcoin_en.ts so new translations can be
  made on Transifex
2013-06-25 11:31:29 +02:00
Pieter Wuille
f121db58e4 Move core implementations to core.cpp 2013-06-25 10:33:29 +02:00
Eric Lombrozo
e6fe8e77fb Calling UnregisterAllWallets() instead of UnregisterWallet(pwalletMain) in init.cpp 2013-06-24 09:33:15 -07:00
Eric Lombrozo
e5cefb9be1 Added locks on the setpwalletRegistered functions in main.cpp and added an UnregisterAllWallets function. 2013-06-24 09:25:23 -07:00
Jeff Garzik
79f6925fac main.h->core.h include dependency improvements. 2013-06-24 10:41:16 -04:00
Jeff Garzik
396485b14d Merge pull request #2789 from sipa/overdump
Dump addresses every 15 minutes instead of 10 seconds
2013-06-24 07:32:20 -07:00
Pieter Wuille
c43da3f183 Dump addresses every 15 minutes instead of 10 seconds 2013-06-24 11:48:14 +02:00
Eric Lombrozo
33944573ca Moved CBlock from main.h to core.h 2013-06-23 19:59:35 -07:00
Eric Lombrozo
2a4d3464fd Pulled AcceptBlock out of CBlock. 2013-06-23 19:59:35 -07:00
Eric Lombrozo
38991ffa8a Pulled CheckBlock out of CBlock. 2013-06-23 19:59:35 -07:00
Eric Lombrozo
1959997afb Pulled AddToBlockIndex out of CBlock. 2013-06-23 19:59:35 -07:00
Eric Lombrozo
f3ae51dcce Pulled ConnectBlock out of CBlock. 2013-06-23 19:59:35 -07:00
Eric Lombrozo
5c363ed622 Pulled DisconnectBlock out of CBlock. 2013-06-23 19:59:34 -07:00
Eric Lombrozo
8031399494 Moved ReadBlockFromDisk implementation to main.cpp 2013-06-23 19:59:34 -07:00
Eric Lombrozo
7db120d531 Moved CBlock::ReadFromDisk out of CBlock to functions ReadBlockFromDisk in main.h 2013-06-23 19:59:34 -07:00
Eric Lombrozo
226f821942 Moved WriteBlockToDisk implementation from main.h to main.cpp 2013-06-23 19:59:32 -07:00
Eric Lombrozo
a6dba0fdb2 Moved CBlock::WriteToDisk out of CBlock to inline function WriteBlockToDisk in main.h 2013-06-23 19:58:23 -07:00
Pieter Wuille
fd967fed89 Merge pull request #2783 from sipa/newtxindex
Initialize database before checking changed txindex
2013-06-23 15:49:08 -07:00
Pieter Wuille
ee4949794b Merge pull request #2592 from sipa/dumpwallet
Add dumpwallet and importwallet RPC commands
2013-06-23 12:10:17 -07:00
Philip Kaufmann
336a53ddbc fix makefiles and init.cpp after chainparams merge
- add missing chainparams.o to some makefiles
- remove a double-include of chainparams.h in init.cpp
2013-06-23 17:39:39 +02:00
Jeff Garzik
4be2aba302 Merge pull request #2778 from jgarzik/rpc-verifydb
RPC: add 'verifychain' to verify chain database at runtime
2013-06-22 23:08:13 -07:00
Jeff Garzik
980bfe6ef8 Log reason for non-standard transaction rejection 2013-06-23 02:05:25 -04:00
Pieter Wuille
b4a8a326c0 Merge pull request #2660 from TheBlueMatt/gmfrefactor
Refactor fee rules to make them actually readable.
2013-06-22 10:08:57 -07:00
Pieter Wuille
48628fd98c Merge pull request #2765 from vobornik/master
recognize Debian kFreeBSD port by build_detect_platform script
2013-06-22 10:05:18 -07:00
Pieter Wuille
4e534aa9d8 Add dumpwallet and importwallet RPCs
dumpwallet: produce a dump of all keys in a wallet, in a format
compatible with Bitcoin Wallet for Android and Multibit.

importwallet: import such a dump
2013-06-22 17:30:56 +02:00
Pieter Wuille
434e4273b9 Add GetKeyBirthTimes to wallet
Compute safe lower bounds on the birth times of all wallet keys. For
pool keys or keys with metadata, the actually stored birth time is
used. For all others, the birth times are inferred from the wallet
transactions.
2013-06-22 17:30:56 +02:00
Pieter Wuille
acc775c554 Add ExtractAffectedKeys to script
This function finds all keys affected by a particular output script,
supporting everything ExtractDestinations supports (pay-to-pubkey,
pay-to-pubkeyhash, multisig) and recurses into subscripts (P2SH).
2013-06-22 16:49:30 +02:00
Pieter Wuille
067a6092ac Initialize database before checking changed txindex
In case no database exists yet, and -txindex(=1) is passed, we currently first
check whether fTxIndex differs from -txindex (and ask the user to reindex in
that case), and only afterwards initialize the database. By swapping these
around (the initialization is a no-op in case the database already exists),
we allow it to be born in txindex mode, without warning.

That also means we don't need to check -reindex anymore, as the wiping/reinit
of the databases happens before checking.
2013-06-22 16:14:26 +02:00
Pieter Wuille
01b45731b7 Merge pull request #2632 from mikehearn/chainparams
Refactor chain-specific tweaks into a CChainParams class and introduce a regtest mode
2013-06-22 06:56:14 -07:00
Pieter Wuille
4addb2c066 Refactor keytime/metadata and wallet encryption bugfix
Refactor keytime:
* Key metadata is kept in a CWallet::mapKeyMetadata (std::map<CKeyId,CKeyMetadata>).
* When generating a new key, time is put in that map, and new key is written.
* AddKeyPubKey and AddCryptedKey do not take a creation time argument, but instead
  pull it from that map, if it exists there.

Bugfix:
* AddKeyPubKey and AddCryptedKey in CWallet didn't override the CKeyStore
  definition anymore. This is fixed, as they no longed need the nCreationTime
  argument now.

Also a few related other changes:
* Metadata can be overwritten.
* Only GenerateNewKey calls GetTime(), as it's the only place where we know for
  sure a key was not constructed earlier.
* When the nTimeFirstKey is known to be inaccurate, it is set to the value 1
  (instead of 0, which would mean unknown).
* Use CPubKey instead of std::vector<unsigned char> where possible.
2013-06-20 01:31:18 +02:00
Jeff Garzik
f590653377 RPC: add 'verifychain', to verify chain database at runtime 2013-06-19 11:53:02 -04:00
Jeff Garzik
168ba99392 Pass check level, check depth to VerifyDB() 2013-06-19 11:32:49 -04:00
Mike Hearn
0e4b317555 Introduce a CChainParameters singleton class and regtest mode.
The new class is accessed via the Params() method and holds
most things that vary between main, test and regtest networks.
The regtest mode has two purposes, one is to run the
bitcoind/bitcoinj comparison tool which compares two separate
implementations of the Bitcoin protocol looking for divergence.

The other is that when run, you get a local node which can mine
a single block instantly, which is highly convenient for testing
apps during development as there's no need to wait 10 minutes for
a block on the testnet.
2013-06-19 16:28:52 +02:00
Mike Hearn
70e7fba06d Move implementation of some CBlockLocator methods
Move out of main.h to improve compile times and add documentation
for what the methods do.
2013-06-19 15:39:45 +02:00
Jeff Garzik
25dbb92860 Merge pull request #2760 from cozz/cozz2
fix comment about dust logic
2013-06-18 06:23:58 -07:00
Pieter Wuille
5e6f7cc8ad Merge pull request #2763 from bitsofproof/master
Send tx relay flag with version message
2013-06-17 01:43:11 -07:00
Pieter Wuille
e58154c447 Merge pull request #2648 from Diapolo/txindex
allow txindex to be removed and add a reindex dialog
2013-06-15 07:49:40 -07:00
Pieter Wuille
f5442aeef4 Merge pull request #2766 from theuni/fix-shutdown-deadlock
Fix shutdown deadlock, ticket #2690
2013-06-15 07:40:35 -07:00
Matt Corallo
87cce04c17 Refactor fee rules to make them actually readable.
This (nearly) doesn't change fee rules at all:
 * To make it into the fee transaction area, the dPriority comparison
   changed from < to <=
 * We now just ignore transactions > MAX_BLOCK_SIZE/4 instead of
   doing some calculations to require increasingly large fees as
   size increases.
2013-06-14 13:37:43 +02:00
theuni
e2654c8d28 fixed: don't use thread::sleep_for where it's known to be broken
Fixes #2690.
2013-06-14 00:01:57 -04:00
theuni
f2763d6d60 fixed: include boost header as necessary
Without this include, sometimes BOOST_VERSION was defined and sometimes
it was not, depending on which includes came before it. The result was a
random mix of sleep or sleep_for for boost versions >= 1.50.
2013-06-13 23:40:59 -04:00
Matt Corallo
b1f15b218b Remove broken option to skip input checking for wallet txn. 2013-06-13 22:28:03 +02:00
Vaclav Vobornik
1d626952f9 Added GNU/kFreeBSD kernel name (TARGET_OS)
uname -s returns "GNU/kFreeBSD" on Debian GNU/kFreeBSD port. See http://www.debian.org/ports/kfreebsd-gnu/
2013-06-12 14:46:16 +02:00
bitsofproof
c87f462b74 send tx relay flag with version 2013-06-11 23:29:41 +02:00
Cozz Lovan
346427f01b fix comment about dust logic 2013-06-11 05:06:02 +02:00
Jeff Garzik
d1020b780a Merge pull request #2553 from Diapolo/threads
changes to thread code (directly use boost::thread)
2013-06-10 13:42:59 -07:00
Pieter Wuille
61983b3d16 Merge pull request #1863 from jgarzik/keytime
"Wallet birthdays": store key create time; calc whole-wallet birthday
2013-06-10 13:38:19 -07:00
Philip Kaufmann
53e71135de changes to thread code (directly use boost::thread)
- removes our NewThread() function an replaces remaining calls with
  boost::thread with our TraceThread template
- remove ExitThread() function
- fix THREAD_PRIORITY_ABOVE_NORMAL for non Windows OSes
2013-06-10 19:49:54 +02:00
Philip Kaufmann
0206e38dcd allow txindex to be removed and add a reindex dialog
- adds a reindex dialog for Bitcoin-Qt to change -txindex without the need
  to supply -reindex
- now also does a -reindex, when removing the -txindex switch
2013-06-10 19:27:57 +02:00
Jeff Garzik
543d70a676 Merge pull request #2747 from luke-jr/getblock_verbose0
Add verbose flag to getblock RPC so it is possible to get hex dumps of blocks
2013-06-10 08:16:39 -07:00