Commit Graph

44 Commits

Author SHA1 Message Date
Jeromy
07b064010e rewrite of provides to better select peers to send RPCs to
refactor test peer creation to be deterministic and reliable

a bit of cleanup trying to figure out TestGetFailure

add test to verify deterministic peer creation

switch put RPC over to use getClosestPeers

rm 0xDEADC0DE

fix queries not searching peer if its not actually closer
2015-01-02 07:42:07 +00:00
Juan Batiz-Benet
c84a714b16 peer change: peer.Peer -> peer.ID
this is a major refactor of the entire codebase
it changes the monolithic peer.Peer into using
a peer.ID and a peer.Peerstore.

Other changes:
- removed handshake3.
-	testutil vastly simplified peer
-	secio bugfix + debugging logs
-	testutil: RandKeyPair
-	backpressure bugfix: w.o.w.
-	peer: added hex enc/dec
-	peer: added a PeerInfo struct
  PeerInfo is a small struct used to pass around a peer with
 	a set of addresses and keys. This is not meant to be a
 	complete view of the system, but rather to model updates to
 	the peerstore. It is used by things like the routing system.
-	updated peer/queue + peerset
-	latency metrics
-	testutil: use crand for PeerID gen
 	RandPeerID generates random "valid" peer IDs. it does not
 	NEED to generate keys because it is as if we lost the key
 	right away. fine to read some randomness and hash it. to
 	generate proper keys and an ID, use:
 	  sk, pk, _ := testutil.RandKeyPair()
 	  id, _ := peer.IDFromPublicKey(pk)
 	Also added RandPeerIDFatal helper
- removed old spipe
- updated seccat
- core: cleanup initIdentity
- removed old getFromPeerList
2014-12-23 08:33:32 -08:00
Brian Tiger Chow
c2c95d1105 start threading context through the system
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-09 07:11:48 -08:00
Brian Tiger Chow
bd685045c8 fix: uranus and saturn IP addresses
Mistake: Saturn referred to the NY node and vice versa.

Correction: Fittingly, Uranus is in NY and _S_aturn is _S_ingapore.

I'll have to reboot the testnet to rectify the changes.

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-08 23:19:52 -08:00
Brian Tiger Chow
af01e0a53c add names
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-07 17:45:49 -08:00
Brian Tiger Chow
7ea2b2d80e feat(bootstrap!) add saturn, neptune, pluto, uranus
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-07 17:07:15 -08:00
Brian Tiger Chow
90ed148209 fix(eventlog) apply settings upon initialization
This commit applies the logging settings to the logging system upon
initialization `ipfs init` and `ipfs daemon --init`.

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-24 16:05:51 -08:00
Juan Batiz-Benet
a1dcbbad80 init: note about addrs 2014-11-20 09:15:48 -08:00
Juan Batiz-Benet
1a5cb300cb config: swarm is list of addrs 2014-11-20 09:14:48 -08:00
Juan Batiz-Benet
5aaa45db9a transitioned ipfs2 -> ipfs 2014-11-18 06:15:00 -08:00
Juan Batiz-Benet
ad3f3e003f removed old commands files
https://www.youtube.com/watch?v=kyFyAqLtHq8
2014-11-18 06:15:00 -08:00
Jeromy
ab805f3382 add in a default file hash and cleaned up init functiona bit 2014-11-15 17:50:05 -08:00
Brian Tiger Chow
67bc9cc89d feat(init) display peer id in init command
use case:

Just configured and installed a node.

benefits:

1) reduces friction when setting up a new node

2) reveals useful details about the workings of the system. It's the
user's first encounter with her node's identity. The tour can build on
the user's knowledge.

```
ipfs (maybebtc-november) λ. ipfs init -f
initializing ipfs node at /Users/btc/.go-ipfs
generating key pair
peer identity: QmcRbn41Vc2CvbpLYfN36mAWusErKWvAAHbq92LPra2gFT
```
2014-11-05 10:15:17 -08:00
Juan Batiz-Benet
c6b74207bc config/init: init Version with CheckPeriod #265 2014-11-04 19:15:25 -08:00
Juan Batiz-Benet
866c2c8915 updates + config: moved location of current version number 2014-11-04 18:58:15 -08:00
Juan Batiz-Benet
e989d6febe move IDFromPubKey to peer pkg 2014-10-18 04:28:26 -07:00
Peter Borzov
98ba0be060 Move versioning/updates stuff to a separate package 2014-10-09 19:59:15 -07:00
Peter Borzov
4c167a42e2 Rename config.Updates to config.Version 2014-10-09 19:58:51 -07:00
Peter Borzov
c8678666e3 Save ipfs version used to initialize config 2014-10-09 19:57:59 -07:00
Peter Borzov
6f033dd7a1 Initialize Updates.check config setting 2014-10-09 19:57:59 -07:00
Juan Batiz-Benet
bc0769e370 ipfs + ipns mounts with flags + config 2014-10-02 03:05:49 -07:00
Juan Batiz-Benet
381824477e Bugfix: daemon wg sync 2014-10-02 00:12:36 -07:00
Shanti Bouchez-Mongardé
832d84ef3c When initializing datastore, create directory with correct permissions. 2014-09-29 21:54:35 +02:00
Shanti Bouchez-Mongardé
2a3ab23f1d Check the datastore is writeable when initializing 2014-09-29 21:54:35 +02:00
Shanti Bouchez-Mongardé
e200c089fa Correct style. 2014-09-29 21:54:35 +02:00
Shanti Bouchez-Mongardé
7705dfb939 Refactor config file location, add IPFS_CONFIG_DIR
Removed config.Filename and replace it with config.GetConfigFilePath that
takes a configuration directory as argument instead. Makes code simpler.
ipfs.getConfigDir now also return the default configuration dir instead of
an empty string in some cases.
2014-09-29 21:54:35 +02:00
Shanti Bouchez-Mongardé
73077d1f72 Implement ipfs init -d (change datastore location) 2014-09-29 21:54:08 +02:00
Juan Batiz-Benet
303ebd894d config: changed language from Peers to Bootstrap 2014-09-24 05:31:25 -07:00
Juan Batiz-Benet
193aebc4c0 config: rename addresses
WARNING: change breaks old configs.
@whyrusleeping @perfmode

This commit changes the way addresses are stored in config files.
It lumps Identity.Address and RPCAddress into Addresses. This
commit also fixes several golint issues.
2014-09-24 05:28:35 -07:00
Juan Batiz-Benet
81b4b38140 RPC Address init + checks 2014-09-22 04:06:17 -07:00
Juan Batiz-Benet
1653304129 adjusted what Address means in config
There are (so far) two sorts of addresses that peers care about:

- peer network addresses, local to listen, saved to bootstrap.
  `config.Identity.Address`

- peer RPC network address, local RPC tcp endpoint
  `config.RPCAddress`

@whyrusleeping @perfmode
2014-09-22 04:06:17 -07:00
Juan Batiz-Benet
6807b6e98e added mars.i.ipfs.io as a bootstrap node
In the future, let's have a (signed) list of bootstrap
nodes. Ideally just a list of ipfs multiaddrs (with node.ID)
2014-09-22 04:06:17 -07:00
Juan Batiz-Benet
d1c4ffba7c init -f fix and output 2014-09-22 04:06:16 -07:00
Juan Batiz-Benet
d17fcc1780 fix security comment #92 2014-09-22 04:06:16 -07:00
Brian Tiger Chow
556da76b2c fix(cmd:ipfs) import err identify -> spipe 2014-09-22 04:05:15 -07:00
Jeromy
2607bee4d6 Change config flag to accept config dir instead of file path 2014-09-17 06:03:58 +00:00
Juan Batiz-Benet
5a41a2ac07 Merge pull request #54 from jbenet/fix/config-test
fix(config) failing test
2014-09-12 10:59:43 -07:00
Siraj Ravel
256db0b52b Merge pull request #1 from jbenet/master
give
2014-09-12 10:32:00 -07:00
Brian Tiger Chow
a5c0f67c8c fix(config) failing test
also replace *Datastore with Datastore
2014-09-12 04:20:46 -07:00
Matt Bell
fbec97982f cmd/init: Fixed init checking if config exists 2014-09-11 13:07:38 -07:00
Siraj Ravel
b88ee2870a golint cleanup 2014-09-11 12:25:52 -07:00
Brian Tiger Chow
7968b45e58 vendor dependencies with godep
dependencies are vendored into Godeps/_workspace and commit versions are
recorded in Godeps.json

update datastore to e89f0511
update go.crypto
2014-09-09 22:39:42 -07:00
Jeromy
4b97f1f270 create new crypto package and make rest of repo use it 2014-09-03 20:15:10 +00:00
Jeromy
aa5a34a6d1 add init command to generate crypto keys 2014-09-02 12:58:35 -07:00