Getting started with a hApp

Hum I’m curious. Holochain RSM core code has been open for a long time (maybe 6 months now) and most of development around happs is open source at the moment as well. What are you referring to when you say things should be more open? Maybe that we lack visibility on what the core team is doing day-to-day? Just checking if we are missing something and how we could manage the information better.

2 Likes

holo.host

Ohhhhhh, thanks for clarifying! I completely lost you on that one as well.
Yes, that’s a big no-no in my book as well! I’m not an official opinion but I’m under the impression (and hopes) that this is just an optional quick-start for the un-techie. :slight_smile:

1 Like

Oh right, so they are pretty much developing everything in the open here: https://github.com/holo-host. Although what they are not doing is maintaining good external docs and trying to take contributors right now, that’s true.

2 Likes

OK so I’m confused (not hard to achieve lol) - what’s @pqcdev complaining about then? If everything is open, then what is stopping anyone diving in?

1 Like

The root cause of the stress among those not in the “accepted” crowd stems from the seemingly willful abandonment of every principled understanding on how to create a healthy community.

Setting the entry into the community at having knowledge of coding languages is by nature an elite standard. Achieving diversity-of-perspectives was never an option, and massive exclusion was baked in from the beginning. For example, we brought African and Indian tech students to the last dev camp and beyond be excluded from the dev camp we were all excluded from other meetings and activities. Without any skill or intention evaluation we were excluded, only to find out there were “non-devs” allowed into the camp. Capriciously excluding people based on no standard or measured criteria is just unfair. Knowledge was weaponized and advantage given to anyone who attended the camp over me and my African and Indian peers. Connections and relationships were withheld from us while others get a better understanding of the project and its status.

The community was constructed without any reciprocity built into the system. No reputation can be earned or valued (the reward badge system in the forum is a tip of the hat to a meritocracy, however the reputation earned in the forum is meaningless and doesnt track the pursuit of the goal). The value created in the community is dumped into a blackhole–flows are not highlighted and harvested.

No community governance. “The community decided to…” is a open euphemism for the decision of a small group if not one person. I’ve been in meetings to hear a core team member say: “the real circles of influence in the community, which I can’t speak about, will have some developments soon.” I then asked why are there circles of influence in the community you can’t speak about? Which has gotten no real response to this day.

No accountability mechanism. No conflict resolution devices to settle disagreements and find common ground. Why is this important discussion happening in a forum thread? Why aren’t issues systematically resolved?!

…this is becoming a rant. if anyone has a counter argument to how the community was built and acts on the principles of good community building practices, well you seem to be a select few and that is not what I or anyone I know in the community as experienced.

1 Like

Thank you for taking the time to respond to this @kerrgreg!

I have started a new thread as we have gone way off-topic and I don’t want to be getting on the wrong side of @carolyn lol.

Seriously though, your post is insightful and I want to consider my response so please if anyone else wants to as well, head over to:

otherwise it will be hard for others to find too

Cheers,

sbp

1 Like

I’m no techi. But I have read this thread and can feel some frustration in it - both with the code and with the coding community.
Patience - yes as a bee keeper one learns how important it is to wait for just the right time to act. And how much ‘experienced’ bee keepers (when talking together) can seem to exclude beginners. And even belittle the efforts of those less knowledgable than themself. And that isn’t talking abour other methods or techniques.
Austic? No. Not bright enough. Les Dislic - probably.
Now I’m going to read the new thread.

1 Like

I saw “beelittle” and all I can think about now is an epic movie about the troubles of the bee keeping community and the journey of the newbie (‘newbee’ lol). I’ll get my coat… see you on the new thread, thanks for joining in!

Thank you for making a new thread. Out of 37 answers to my post only one is on the topic itself. :thinking:

1 Like

On your Link: https://holochain-gym.github.io/developers/basic/entries/
In the navigation bar the link in REQUIREMENTS > Setup is broken it leads to https://holochain-gym.github.io/developers/requirements/setup/ which has a different navigation bar where it is not possible to go back to the first link.
I was before stuck at the https://holochain-gym.github.io/developers/ page and didn’t really know what to do because I didn’t see the whole navigation bar.

I wanted to attempt the first exercise 'entries’
To check if my code is correct I checked the solution branch.

Isn’t the attribute #[hdk_extern] needed before the say_greeting function like mentioned in the https://holochain-gym.github.io/developers/basic/entries/#external-calls

Compiling of the code works fine but in the run_tests script I get an error in the npm test command.

[nix-shell:~/developer-exercises/basic/0.entries]$ CARGO_TARGET_DIR=target cargo build --release --target wasm32-unknown-unknown
   Compiling exercise v0.0.1 (/home/student/developer-exercises/basic/0.entries/zomes/exercise)
    Finished release [optimized] target(s) in 0.95s

[nix-shell:~/developer-exercises/basic/0.entries]$ ./run_tests 
Wrote bundle /home/student/developer-exercises/basic/0.entries/workdir/exercise.dna
npm WARN demo-1@0.0.0 No description
npm WARN demo-1@0.0.0 No repository field.

audited 178 packages in 1.83s

39 packages are looking for funding
  run `npm fund` for details

found 1 high severity vulnerability
  run `npm audit fix` to fix them, or `npm audit` for details

> demo-1@0.0.0 test /home/student/developer-exercises/basic/0.entries/tests
> TRYORAMA_LOG_LEVEL=info RUST_LOG=error RUST_BACKTRACE=1 TRYORAMA_HOLOCHAIN_PATH="holochain" ts-node src/index.ts

15:04:24 [tryorama] info: Using the following settings from environment variables:
15:04:24 [tryorama] info: {
  "adminInterfaceId": "tryorama-interface-admin",
  "appInterfaceId": "tryorama-interface-app",
  "stateDumpOnError": true,
  "zomeCallTimeoutMs": 90000,
  "conductorTimeoutMs": 125000,
  "strictConductorTimeout": false,
  "chooseFreePort": false,
  "logLevel": "info",
  "portRange": [
    33000,
    34000
  ],
  "legacy": false,
  "singletonAppId": "TRYORAMA_APP",
  "holochainPath": "holochain",
  "lairPath": "lair-keystore"
}
TAP version 13
# say a greeting
FIXME: ignoring onJoin
15:04:24 [tryorama] info: Spawning lair for test with keystore at:  /tmp/tmp.m2I0enrr7f/tryorama/4mKAj8/keystore
Error: spawn lair-keystore ENOENT
    at Process.ChildProcess._handle.onexit (internal/child_process.js:267:19)
    at onErrorNT (internal/child_process.js:469:16)
    at processTicksAndRejections (internal/process/task_queues.js:84:21)
npm ERR! Test failed.  See above for more details.

[nix-shell:~/developer-exercises/basic/0.entries]$

Yeah sorry about the threadjacking lol! I do believe it’s better to get these issues out in the open though, so thanks for understanding!

You might want to do a CTRL-refresh or whatever it takes to clear the cache and see if you’re getting the same problem as I’ve done some changes over the last few days including one where a link was to “beginner” instead of “basic” so that fixed one link, plus I noticed the sample code had #[hdk_extern] in it already but the tutorial was telling you to add it, so I thought the best thing to do was to remove it from the sample code and keep to what the tutorial was saying - perhaps you were caught up in the middle of those changes hence why it’s even more confusing!!

As for the error, I’ll let someone else far more knowledgeable than me respond to that, I haven’t tested mine since a few days ago before I started playing with the tutorial text as I noticed some inconsistencies that I wanted to iron out.

2 Likes

Yeyyyyy this is so awesome :smiley: Thank you both for the feedback and engaging, my hope has always been that the gym can be co-created at the rate that we all learn about holochain and work together, so seeing this is really great.

So yes, as @stephenpurkiss said you need to CTRL+R to clear the cache and then links should work as intended (I disabled the cache this past week so new versions won’t have that problem).

Yes, #[hdk_extern] should be in the code to expose it to the outer world, I’ll fix that, although the tryorama error seems to be about sth else. Let me take a look.

2 Likes

No, don’t “fix that” lol - I took it out because it was in there and the tutorial teaches you to put it in there but it was already in there. So we DON’T want it in there, unless you want to change the entire tutorial to remove teaching you to put it in there.

LOL :wink: Doesn’t anyone listen to me hah :wink:

Noo, @wwo is talking about the solution branch, which should contain the working solution for the exercise. The tutorial assumes you are working from the master branch, where that is not there.

2 Likes

OIC lol hah! I’m distracted with making my 5th call to my mum who can’t seem to ever figure out how to answer a call.

Yes it shouldn’t be there in the master branch now since I took it out last week, and it should be in the solution branch.

I’ll get me coat :wink:

1 Like

Oh I could have thought of that too so the website problem is solved :grinning:

2 Likes

Could the tryorama error be a false holochain version? I have installed it like described in https://github.com/holochain/holochain

nix-shell --argstr flavor happDev
cargo install --path crates/holochain
cargo install --path crates/hc
1 Like

Mmm that’s actually not the way that the developer exercises are meant to be run. You just need to run nix-shell wherever there is a default.nix file to get a full working environment with holochain and hc installed. This is also necessary to work with multiple holochain versions.

So, no need to clone and install from the core repository, if you follow the instructions in the readme of each gym exercise you should be able to get everything you need.

I am on a Mid-2012 MacBook Pro 15 Retina MacOS Catalina 10.15.7. It’s too old to update to latest MacOS but I see that isn’t working anyway right now lol :wink:

I followed the setup instructions here:

…and set up the holonix command as described here:
https://developer.holochain.org/docs/install-advanced/

./run_tests didn’t work for me, didn’t find hc so I tried @wwo’s link above, which seems to me to reinstall but also looks like it might set up hc. It’s currently horribly breaking and I’ve just seen @guillemcordoba’s reply so maybe he knows why hc is not found… cos I followed the instructions :wink: But I guess it could be MacOS specific, I do have an old X200 LibreBoot but it’s a bit loud and old and even slower than this hah.

[nix-shell:~/Holoplay/developer-exercises/basic/0.entries]$ ./run_tests --verbose
./run_tests: line 2: hc: command not found

[nix-shell:~/Holoplay/developer-exercises/basic/0.entries]$ hc
bash: hc: command not found

[nix-shell:~/Holoplay/developer-exercises/basic/0.entries]$ sudo hc
Password:
sudo: hc: command not found

[nix-shell:~/Holoplay/developer-exercises/basic/0.entries]$ holochain --version
holochain 0.0.100

[nix-shell:~/Holoplay/developer-exercises/basic/0.entries]$ holochain dna pack workdir && cd tests/ && npm install && npm test && cd ..
error: Found argument 'dna' which wasn't expected, or isn't valid in this context

USAGE:
    holochain [FLAGS] [OPTIONS]

For more information try --help