CRUST DIY instructions & discussions

Ah sorry - it’s now called crust_peer It changed on Friday so now is cross platform LAN aware. Nice catch

2 Likes

wow that was quick!!

OK I’ll report back later with progress on the Centos box.
I encrypted some photos OK but failed to decrypt but its prob something stupid like a path issue.

Yea the encrypt example is a very simple one, we will probably do a wee test app for multiple files and dirs when we get a chance. Of course very soon you will have a full working client that does all that for you :slight_smile: (end of this sprint)

8 Likes

short feedback - newly installed ubuntu 15.04 VM:

  1. had to use the options listed on the rust-website
    curl -sSf https://static.rust-lang.org/rustup.sh | sudo sh -s – --channel=nightly
    (i think the additional S is necessary at least because of the su-rights and you have to enter the password)

  2. cargo run —example crust_node >>> cargo run —example crust_peer
    oh there was some activity while i was busy :open_mouth: … sorry didn’t want to report it a second time :smiley:

  3. works perfect without a problem

ps: when i stop the first started node before the others the “slave nodes” don’t realize that and the master node doesn’t really stop (it says it would have stoppen and then the terminal still isn’t usable)

2 Likes

feedback on Centos 7 install

install was initially pretty straightforward except I had to add

export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib

to /etc/profile to get around
rustc: error while loading shared libraries: librustc-4e7c5e5c.so: cannot open shared object file: No such file or directory
rustc cannot find librustc when installed with rustup.sh
when I ran cargo run —example crust_peer for the first time,
However when I opened several terminals each only displayed its own instance. :disappointed:
This was all run over ssh connections, this server is normally headless.
I will try again tomorrow when I hook a monitor and keybd up to it and work directly on the server.
Likewise routing appeared to install OK without errors but again each instance only saw itself, no others.
I did not try encryption yet - another task for after work tomorrow,

2 Likes

We use the very first node to simplify the network creation. So, we start the very first node, it uses all possible default methods to find other nodes in network, but it obviously fails to do so. But, the node continues to accept any inbound connections from any new peer. So, the other nodes find this node using default methods(beacon and bootstrap cache) and the network is created.

5 Likes

We updated its name last week to make it more explicit to say it is for Peer 2 Peer network.

3 Likes

Guys,
We have updated the Readme of Crust to show its dependency on sodiumxoide.

2 Likes
mranderson@neo:~/crust$ cargo run --example crust_peer
    Updating registry `https://github.com/rust-lang/crates.io-index`
 Downloading aho-corasick v0.2.2
 Downloading env_logger v0.3.1
 Downloading term v0.2.10
 Downloading memchr v0.1.3
 Downloading docopt v0.6.67
 Downloading itertools v0.3.22
 Downloading winapi v0.1.23
 Downloading regex-syntax v0.2.0
 Downloading log v0.3.1
 Downloading rustc-serialize v0.3.15
 Downloading regex v0.1.40
 Downloading cbor v0.3.7
 Downloading time v0.1.30
 Downloading winapi-build v0.1.0
 Downloading kernel32-sys v0.1.2
 Downloading byteorder v0.3.11
 Downloading utp v0.6.0
 Downloading num v0.1.25
   Compiling rustc-serialize v0.3.15
   Compiling winapi-build v0.1.0
   Compiling byteorder v0.3.11
   Compiling itertools v0.3.22
   Compiling strsim v0.3.0
   Compiling regex-syntax v0.2.0
   Compiling libc v0.1.8
   Compiling kernel32-sys v0.1.2
   Compiling winapi v0.1.23
   Compiling rand v0.3.8
   Compiling log v0.3.1
   Compiling memchr v0.1.3
   Compiling num_cpus v0.2.6
   Compiling aho-corasick v0.2.2
   Compiling asynchronous v0.4.5
   Compiling time v0.1.30
   Compiling term v0.2.10
   Compiling regex v0.1.40
   Compiling env_logger v0.3.1
   Compiling num v0.1.25
   Compiling docopt v0.6.67
   Compiling cbor v0.3.7
   Compiling utp v0.6.0
   Compiling crust v0.1.4 (file:///home/mranderson/crust)
error: internal compiler error: node_id_to_type: no type for node `method send in tcp_connections::OutTcpStream<T>::send (id=3652)`
note: the compiler unexpectedly panicked. this is a bug.
note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports
note: run with `RUST_BACKTRACE=1` for a backtrace
thread 'rustc' panicked at 'Box<Any>', ../src/libsyntax/diagnostic.rs:249


Could not compile `crust`.

To learn more, run the command again with --verbose.

Are you using the nightly rust?

What is the output from

rustc --version  ?

Should be something like

rustc 1.3.0-nightly (16f64c388 2015-07-09)

If not then do

    curl -sSf https://static.rust-lang.org/rustup.sh | sudo sh -s -- --channel=nightly

You need to run this every day as anything new on github will assume that the latest and greatest rust is in use. Remember all this is very much a moving target :smile:

1 Like

Sorry I should have posted computer info, Ubuntu 15.04 and I believe I hadn’t updated my rust and it was a few weeks old.

I redid it and it worked perfect.

mranderson@neo:~/crust$ cargo run --example crust_peer
   Compiling rustc-serialize v0.3.15
   Compiling libc v0.1.8
   Compiling itertools v0.3.22
   Compiling winapi-build v0.1.0
   Compiling regex-syntax v0.2.0
   Compiling byteorder v0.3.11
   Compiling strsim v0.3.0
   Compiling num_cpus v0.2.6
   Compiling log v0.3.1
   Compiling memchr v0.1.3
   Compiling winapi v0.1.23
   Compiling rand v0.3.8
   Compiling kernel32-sys v0.1.2
   Compiling asynchronous v0.4.5
   Compiling aho-corasick v0.2.2
   Compiling term v0.2.10
   Compiling time v0.1.30
   Compiling regex v0.1.40
   Compiling env_logger v0.3.1
   Compiling docopt v0.6.67
   Compiling cbor v0.3.7
   Compiling num v0.1.25
   Compiling utp v0.6.0
   Compiling crust v0.1.4 (file:///home/mranderson/crust)
     Running `target/debug/examples/crust_peer`
Listening for new connections on Tcp(5484), and listening for UDP broadcast on port 9999.
Didn't bootstrap to an existing network - this is the first node of a new network.

Enter command (stop | connect <endpoint> | send <endpoint> <message>)>
2 Likes