When using the one-liner to install Holonix I ran into my first problem when running the command:
$(nix-build https://holochain.love --no-link -A pkgs.holonix)/bin/holonix
No nix-shell is spawned and the output gives me following warning:
warning: the group 'nixbld' specified in 'build-users-group' does not exist
With a little tinkering around to fix the issue, I created a new user and added him to the nixbld group. I don’t know if this is the correct way because in the tutorial it isn’t mentioned to have a user in this group. If someone has a proper/other way of fixing the warning please let me know.
Unfortunately, the “Hello Holo” tutorial (https://redux.developer.holochain.org/docs/tutorials/coreconcepts/hello_holo/) isn’t available yet for the RSM Holochain. Is there a equivalent available that I can take a look at to learn more from that? I have also tried to perform the old tutorial in the new Holochain RSM but it seems that the command “hc” is depreciated. Is there a new command for the “hc” command that I can use to perform the “Hello Holo” tutorial in the Holochain RSM?
Unfortunately the documentation just really isn’t there yet with RSM, so you’ll probably need to jump between the website documentation, the GitHub documentation, the HDK API docs, and the Holochain code. Fortunately, creating a hApp is significantly easier in RSM, so a lack of tooling is much less of an issue than it would be in Redux. There is a link to this document at the bottom of the install instructions which helped me out a lot. It isn’t stated but I gather that the preferred way to interact with the conductor once its running is the Node API (This may be wrong… how do they test newer versions if the API is not compatible with it?). The one thing you need to make sure of is that you’re using the correct version on everything! The conductor must be compatible with the HDK version you used in your zomes/DNA, and the Node conductor Api must be compatible with the conductor. I believe the Node API will dictate which version you use (check the README). I have been trying to develop and run a hApp for three days now without luck, so here’s hoping for a better development experience soon. Good luck!
Thank you for your answer. I will take a look at the two repositories you mentioned. I also have the impression that it is currently difficult to get an overview about the information which is available for the Holochain RSM from the different sources like GitHub, Holochain documentation and the forum.
Thank you for your help @Dudism I have already read about it here in the forum. I have tried the ‘Beginner 1.Elements’ exercise, because I have no knowledge of the programming language Rust I cheated and took the file lib.rs from the solution branch just to see if it works. Unfortunately it didn’t work when I tested it with the ‘cargo test’ command. Am I executing it in the right directory? Maybe you or @guillemcordoba sees what I did wrong.
[nix-shell:~/developer-exercises/basic/1.elements]$ cargo test
Updating git repository `https://github.com/holochain/holochain`
Updating crates.io index
error: failed to select a version for `observability`.
... required by package `ghost_actor v0.3.0-alpha.1`
... which is depended on by `holochain_keystore v0.0.1 (https://github.com/holochain/holochain?rev=8c62cb5888f491f08e6fdf13b6f3991f85a9801a#8c62cb58)`
... which is depended on by `holochain_types v0.0.1 (https://github.com/holochain/holochain?rev=8c62cb5888f491f08e6fdf13b6f3991f85a9801a#8c62cb58)`
... which is depended on by `elements_exercise v0.1.0 (/home/student/developer-exercises/basic/1.elements)`
versions that meet the requirements `=0.1.1` are: 0.1.1
all possible versions conflict with previously selected packages.
previously selected package `observability v0.1.3`
... which is depended on by `holochain_types v0.0.1 (https://github.com/holochain/holochain?rev=8c62cb5888f491f08e6fdf13b6f3991f85a9801a#8c62cb58)`
... which is depended on by `elements_exercise v0.1.0 (/home/student/developer-exercises/basic/1.elements)`
failed to select a version for `observability` which could resolve this conflict
[nix-shell:~/developer-exercises/basic/1.elements]$
Thanks you for your fast answer great community here . Yeah I really like the idea of the gym especially for beginners. I am looking forward to see how the gym project will develop in the near future.
I have tested your new version here is my output:
[nix-shell:~/developer-exercises/basic/1.elements]$ cargo test
Compiling elements_exercise v0.1.0 (/home/student/developer-exercises/basic/1.elements)
error: unused import: crate::*
→ src/tests.rs:1:5
|
1 | use crate::*;
| ^^^^^^^^
|
= note: -D unused-imports implied by -D warnings
error: aborting due to previous error
error: could not compile elements_exercise
To learn more, run the command again with --verbose.
Thank you it its working! So now it is time for me to learn Rust . I will take a look at the other exercises when I understand the solution of the first exercise.
[nix-shell:~/developer-exercises/basic/1.elements]$ cargo test
Compiling elements_exercise v0.1.0 (/home/student/developer-exercises/basic/1.elements)
Finished test [unoptimized + debuginfo] target(s) in 3.45s
Running /home/student/target/debug/deps/elements_exercise-3912622730de6bcf
running 4 tests
test tests::tests::header_address ... ok
test tests::tests::test_get_header_timestamp ... ok
test tests::tests::test_contains_entry ... ok
test tests::tests::test_is_header_subconscious ... ok
test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
Doc-tests elements_exercise
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
@guillemcordoba need help with the gym? Let me know, I’d be happy to help make it more comprehensive - e.g. bring together all resources one might need to consult to complete the gym.
The idea is brilliant but maybe it could have links to more detailed documentation - also happy to help with that.
I myself couldn’t figure out most of the solutions. Note also that (and maybe this is stale) the solutions has a whole additional module utils.rs which is not in the exercise description.
That meant their ‘smartness’ layer ought to be decentralised too. Initially drawn to blockchain, they quickly realised that it was too slow and not actually all that decentralised. When they discovered Holochain, they decided it was an ideal match.