D-Chat

That’s all good news.

Is there a list of all the available rpc nodes somewhere? Right now the extension makes practically all requests through the testnet-node-0001.nkn.org or whatever, which isn’t really the ideal decentralization you’d hope for. If there was a JSON file of the IPs that I could find, then I could send messages to a different one every time, basically.

About the buckets: if I’m subscribed to bucket 0, will I receive messages that someone sends to bucket 1? Will the publish method take care of that? Well, it’s not a concern for the add-on at this time.

About the duration: for a chat application, I see that a “subscribe until unsubscribe” would be nice.

Here’s a few more things that I think should be useful, for anyone interested in extending the libraries:

  • getSubscribers
    • Already almost exists in the publish method.
    • Useful for getting the # of chatters online, for example.
  • isSubscribed (and for how long?)
    • Currently the only way(?) to know if you’re already subscribed is to re-sub and see the error.
  • subscribeToFirstOpenBucket

I’d add the first one myself, but I’m just heading to summer vacation and won’t be online for a couple of weeks.

Every NKN node can be served as a RPC node. Later we will provide a list of official nodes, and the sdk will randomly choose one when making request. You can also pass your own nodes.

For the buckets, it depends on how the publish side implement it. Currently sdk does not take care of that, but it can be implemented using the existing “gettopicbucketscount” rpc.

For the duration, we plan to add unsubscribe soon.

There are 2 existing rpc that can achieve your first and third requirement: “getsubscribers” and “getfirstavailabletopicbucket”. There is no isSubscribed yet but it shouldn’t be hard to add.

1 Like

https://chrome.google.com/webstore/detail/glnmkakdjcognfgonjfcklpmjiobijii/ looks doesn’t work yet, looking forwarding to have a try at Chrome :heart_eyes:

It went through the checks just now & is available on the Chrome store.

1 Like

Great, let me try it and feedback here

1 Like

Just released v1 on Firefox. It’s on Firefox only, so I can squash the bugs I might find, and because Firefox is the best. Chrome store still wants to review every new version, which takes like a week, so that’ll wait till it works.

Release notes:

Moved things to “background page”.

  • Now you’ll be able to get messages when your popup is closed, and you’ll see a number on the button badge.
  • The subscription spinner should work.
  • It’s faster.

One downside is that now you can only have one open chat, because state is shared.

I’m thinking about splitting the add-on into 2. One for the chat, and another one for an NKN wallet.

After that, I think it’ll be relatively easy to create a flow for accessing *.wikipedia.nkn. So I’ll probably do that.

EDIT: oh yeah, and in case anyone was actually using this yet, then rejoice, as your chats list went blank after the update. You’ll have to rejoin your chats.

1 Like

Hi Lynn,

Thanks a lot for the update! Is the new 1.0 working over mainnet or testnet? I just did a quick test but it seems spinning.

Bruce

It’s still on the testnet. Forgot to update the nkn wallet package.

seems spinning

Looks like I broke it, after all, huh. I get that now too. I’ll update to mainnet while I’m at it, I guess.

Suddenly I’m not seeing any new block events firing on the testnet. And mainnet threw me some errors, that I didn’t write down but cannot reproduce, too. I’m guessing it might have something to do with the nkn-wallet-js pointing to https://mainnet-rpc-node-0001.nkn.org/mainnet/api/wallet but nkn-client-js still points to http://testnet-node-0001.nkn.org:30003 . Right now I’m not seeing any block events on mainnet either.

What is the mainnet equivalent of the former? Github suddenly requires 2FA so forget about logging in, ever.

I’ll figure this stuff out tomorrow. It’s broken for the night regardless of what I do, I guess. The older version as well.

I did, In fact, find a bug in the extension, but fixing that didn’t do anything to the “spinner problem” because it cannot hear any block events, so subscriptions will never resolve.

Time for a rest and continue tomorrow. :grinning: I guess right now both mainnet and testnet want to take a rest as well. Should be fixed soonish.

1 Like

Still no block events. Don’t think publish is going through either. Can’t tell about subscribe.

Testnet or testnet-node-0001 appears bugged. I get the connect event, but no block events.
I don’t know any node on the mainnet that I could connect the nkn-client-js to, so I can’t even test it there. Tried the “mainnet/api/wallet” node on that, but it doesn’t respond.

Can you pick these seed nodes from mainnet? Will be nice to have it running over mainnet. :grinning:

Thanks for the list, but unfortunately they don’t work. I tried with the example in the repo as well.

$ node node_example.js http://testnet-node-0001.nkn.org:30003 10000
[] Send message from 97c7e3e64811c648.027c8c4361238e630b0d896a54e0e27808789fdf34afdc65cb9d4f2efbd147eb21 to 751d9dd8c8702b46.020213bc7f3e83e46d018688c5619c7fe890ce8b52949a293f027dbfe06c9b5fed
[] Receive text message "Hello world!" from 97c7e3e64811c648.027c8c4361238e630b0d896a54e0e27808789fdf34afdc65cb9d4f2efbd147eb21 after 137 ms
[] Receive "Well received!" from 751d9dd8c8702b46.020213bc7f3e83e46d018688c5619c7fe890ce8b52949a293f027dbfe06c9b5fed after 283 ms
$ node node_example.js http://mainnet-seed-0001.nkn.org:30003 10000

It just hangs forever.

what is your Discord handle? I can invite you to our community developer channel, where you will get the best support. This is our generic invite. but once you are in I can add you to the private channel.

It’s lynn#2453 .

Alright, try #2 is here. Version 2.0.2. On the mainnet!

1 Like

Just tested v2 running on mainnet. Working very well!

Pushed v2 onto Chrome just now. By Friday it might be out.

1 Like

The latest version is even better, two UI suggestion from my side.

57%20PM

As above showed
1: The top message “hello” be covered by the #test tab
2: The submit button a bit oversize, esp when adjust the windows size.

And it is still the best and real decentralization chat app I’v been seen. Thanks

1 Like

Lynn has released v2.6 for Firefox (Chrome will come a bit later, due to heavier approval process). In this release, there is faucet function so D-Chat users can get 0.00001 NKN into their wallet for subscribing to new channels. Thanks Lynn!

A few screenshots:
01%20AM 30%20AM 52%20AM

2 Likes