The previous update was a general plan of attack and spelled out what I think would be key to a useful sustainable Q&A bot ( value accounting / extraction / redistribution), now it is time to get my hands dirty.
I followed the developer introduction which is quite clear and I had a working bot quite quickly, then I made two beginner mistakes.
<tl;dr> I hope others will read them and learn from my mistake or post some ⚠️ warning signs to prevent them.
First mistake
Reading into the next part with the bot-example I immediately realize I have two problems:
- the headless-wallet sync is going to take a few days, by my calculation it would take 4-5 days... if it's interrupted not sure if I have to start from zero, so cannot stop and restart the bot
- I don't have many bytes to play with on main net, this means I should be ⚠️ working on the testnet and not the main
So while I let the main net headless-wallet sync, I started a new wallet using the testnet as per the bot-example.
Second mistake
Following the bot-example, install a new testnet wallet and the byteball-tn app.
Again I generate the pairing QR code using the free ZXing QR generator, but for some reason, I kept getting "no byteball-prefix" or "invalid pairing code".
At this point, I wasn't sure if it was because testnet worked differently so I kept trying different things... I message the Byteball Dev Telegram and received an answer about pairing secret with conf.js .
Turns out in conf.js I had set the pairing secret to "* " which means it would ⚠️ accept anything except asterisk , so the QR code should be <pairing_code>@byteball.org/bb-test#0000
and ⚠️not <pairing_code>@byteball.org/bb-test#*
Finally get to work
The feedback from last week tells me that I need to worry about Chat record storage. Actually, I had already thought of that earlier as a spam issue. My conceptual solution is to place a one "active" question limit per wallet, furthermore the question is only sent to a limited random selection of other users. There would be an option to boost number of question receivers by increasing the bounty.
One thing that strikes me as a feature with Byteball is the ease of development for front-end developer. It doesn't get more simple then writing javascript code which works right away, now if a REPL was included that would be even better. Low barrier of entry is quite a killer feature, as long as you don't make beginner mistakes like I did :^)
Again, although Q&A bot might seem like an obvious chat bot application, I believe that one that allows micro-transactions might be perhaps useful, at least a good first project to try. In the meantime, I keep typing "mci" on my main net bot to see that it's more than half way done.
Next step
I've made some progress with the code, so will keep working on that.
It is most likely you don't need a full node for this bot. Setting
exports.bLight = true;
in yourconf.js
will turn your bot into a light wallet and no sync is needed anymore.Thanks. Yeah, you are right. Since I am syncing using another machine, I will just let it keep running, while I developed on the testnet one.
Congratulations @whoisterencelee! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :
Click here to view your Board
If you no longer want to receive notifications, reply to this comment with the word
STOP
Do not miss the last post from @steemitboard: