Kleissner
608dbf6f47
Simplified profile code.
2021-09-28 05:39:38 +02:00
Kleissner
9ef6a88512
Reworked the way metadata/tags for files work. Simplified it at lot.
2021-09-28 02:59:47 +02:00
Kleissner
24df8c1eb0
webapi: Add dummy /download/start and /download/status endpoints
2021-09-27 03:49:34 +02:00
Kleissner
dc093f5f6d
webapi: Add file type and format detection via /file/format
2021-09-26 23:40:22 +02:00
Kleissner
3fbb1a824b
Add special type -2 to /explore.
2021-09-25 13:09:40 +02:00
Kleissner
175f1fb438
Fix race condition in FindNode
2021-09-24 13:45:12 +02:00
Kleissner
7e402de278
webapi: New endpoint /explore to list recently shared files, currently dummy data
2021-09-23 23:53:44 +02:00
Kleissner
58b4603744
Initial search API with dummy results
2021-09-23 02:32:07 +02:00
Kleissner
edc14925c7
Improve documentation
2021-09-20 14:45:33 +02:00
Kleissner
149984eeb3
webapi: New endpoint /profile/delete
2021-09-20 14:20:23 +02:00
Kleissner
680723faf3
Blockchain: New function UserProfileDelete to delete user profile data.
2021-09-20 14:19:04 +02:00
Kleissner
df0f57063f
Add endpoint /blockchain/self/delete/file to delete files.
2021-09-19 00:57:49 +02:00
Kleissner
06b846ca34
Blockchain functions: Return version number. Add record deletion and refactoring function. Allow to delete files.
2021-09-19 00:01:31 +02:00
Kleissner
67bf27a4af
Refactor apiTest into Status.go
2021-09-15 16:29:26 +02:00
Kleissner
16e9c0e67f
Add TypeEbook. Clarify documentation on File Type and File Format.
2021-09-15 16:25:09 +02:00
Kleissner
95640fede3
webapi: Export EncodeJSON, DecodeJSON
2021-09-10 19:19:06 +02:00
Kleissner
3f3e6d9df1
Add date field to apiBlockRecordFile
2021-09-10 14:43:01 +02:00
Kleissner
19e29b3a91
Add webapi. Provides an HTTP API for clients to use Peernet.
2021-09-10 13:40:07 +02:00
Kleissner
928c16c492
New profile functions to read/write profile fields and blobs
2021-09-03 02:24:26 +02:00
Kleissner
22f21d187a
Add virtual tag TagTypeDateShared.
2021-08-28 13:37:38 +02:00
Kleissner
a3750af1c8
Fix bug correct block number
2021-08-28 13:26:06 +02:00
Kleissner
7c88763f28
Minor fix when creating new blockchain, initializing used public key
2021-08-27 17:38:36 +02:00
Kleissner
20399f121b
Rewrite of profile records on blockchain. This allows to add/update profile data (including future fields and blobs) at any time.
2021-08-27 06:15:37 +02:00
Kleissner
8fb9afaddc
Rename Directory to Folder to make more sense.
...
Introduce new file type TypeFolder which is not used anywhere, however.
2021-08-27 04:58:15 +02:00
Kleissner
a2384ca627
Blockchain: Change of block format.
...
File records:
* Add unique ID to file record.
* Introducing tags which are flexible. Close #31
* Name and Directory fields are now tags.
* Embedded basic compression by storing duplicate file tags as single record.
Added date field to record structure.
2021-08-27 03:12:30 +02:00
Kleissner
ea80588fa1
Add format field to the blockchain header. This allows backward compatibility. Close #32
2021-08-25 01:13:00 +02:00
Kleissner
6c399a7be9
New function UserBlockchainListFiles to list all files in the users blockchain.
...
Refactor block record decoding code.
2021-08-19 16:49:37 +02:00
Kleissner
a2420b8468
Store user blockchain data in file. Close #30
...
Refactoring sanitize code into separate sub-package
Refactoring block and block record decoding code
2021-08-19 04:13:08 +02:00
Kleissner
7c7048c4c7
Use Pogreb as key/value store instead for now.
2021-08-11 22:49:00 +02:00
Kleissner
5d01fc6c72
Initial code to read/create the users blockchain database on the file system.
2021-08-11 22:36:47 +02:00
Kleissner
afef726aaf
Add tentatively cockroachdb/pebble as initial database! This can be changed/replaced easily. Unfortunately it adds 7 MB to the binary and tons of dependencies :(
2021-08-11 22:18:30 +02:00
Kleissner
3da1acde60
Key/value database rename functions.
2021-08-11 22:16:39 +02:00
Kleissner
d87e43cd32
Simplify Store interface. Remove unused replication placeholder and untangle expiration option.
...
MemoryStore is refactored into separate file.
2021-08-11 20:15:22 +02:00
Kleissner
2937154c8d
Add filters for low-level packet and high-level message interception for debugging purposes. Close #4
2021-07-31 17:29:14 +02:00
Kleissner
dc54f94351
Fix in sendInfoRequest
2021-07-29 04:41:18 +02:00
Kleissner
3233bf5c1b
New Filters.IncomingRequest to intercept incoming information requests of all types
2021-07-29 04:10:53 +02:00
Kleissner
fc1f0407f3
-> Alpha 3.
...
DHT: Store and Get functions use search client.
Multiple improvements in search client. Alpha parameter is now provided by init caller.
StoreDataDHT add closestCount parameter.
2021-07-29 03:17:14 +02:00
Kleissner
e5d09e7086
New filter DHTSearchStatus for debug purposes.
...
Various minor improvements and fixes.
New high-level FindNode and AsyncSearch functions.
2021-07-28 01:33:33 +02:00
Kleissner
891e621e8a
DHT: Add Search Client which runs the search in concurrent levels. This means faster results.
...
Add function FilterSearchStatus to get notified on the status of searches for debugging.
FindNode uses the new search client.
2021-07-28 01:28:31 +02:00
Kleissner
66ebf7c91e
New DHT function IsNodeContact to check if node is in local routing table
2021-07-07 02:50:12 +02:00
Kleissner
c1ccc3c344
Export PublicKey2NodeID
2021-07-07 02:40:07 +02:00
Kleissner
560f019786
Remove unnecessary module for dht subdirectory. This streamlines dependencies on the core module.
2021-07-07 02:38:08 +02:00
Kleissner
27fdafd231
Only set error filter function if not already set, which is important for callers to intercept the init messages.
2021-07-06 13:37:27 +02:00
Kleissner
96ee35ebf9
Finalize filter for log messages. Close #26
2021-06-29 00:48:22 +02:00
Kleissner
084f3bc1ee
Prepare log functions for filters. Init all filter functions by assigning empty stubs. #26
2021-06-28 02:37:31 +02:00
Kleissner
f5ce15d33a
Initial filters for new peers and new connections. More filters to be added. #4
2021-06-09 22:45:43 +02:00
Kleissner
94c8e16724
Record BlockchainHeight and BlockchainVersion for each peer. New function IsPortForward.
2021-06-09 22:35:55 +02:00
Kleissner
594c06e276
Implemented block encoding according to Whitepaper 0.8.2.
...
Blocks aren't yet shared.
2021-05-30 15:28:11 +02:00
Kleissner
1a44b9c5e7
Include both IPv4/IPv6 addresses in peer records in Response message. This makes peer list sharing more efficient and speeds up discovery. Close #24
2021-05-21 02:33:32 +02:00
Kleissner
82033e124a
Finalize Traverse message implementation. Close #23
...
Remove createVirtualAnnouncement function, no longer needed.
2021-05-19 14:56:39 +02:00