Hive Engine SMT (Comments) Contract Launch

in Palnet3 years ago

Hi all,

Wanted to give an update about the SMT (comments) contract here. We've just launched the contract on Hive Engine, which means that a token owner can set up their own Hive-like reward pool without depending on a centralized distribution bot (Scotbot), and where all components are open-source.

Documentation for the contract can be found here.

Not all of the functionality built into Scotbot is in the comments contract. The most prominent are the following:

  • No claims. The rewards pay out directly to the users.
  • No overall token beneficiary. When rewards are paid out, there is no option to automatically redirect to the token owner. But this is effectively equivalent to automatically issuing to a designated account on a schedule.
  • No mute functionality. This means that besides the downvote mechanism, there is no way to prevent rewards from going out to muted users. This can be added without too much trouble, but will only add it if requested.

We also already have the first comments-contract-powered frontend at https://dunksocial.io set up by @dunksocial.

Comments Contract Indexer

We do not keep all state on the hive engine nodes, only the information needed to compute rewards. This means an indexing solution is needed to tail hive engine blocks. I have repurposed a portion of the existing scotbot for this purpose and have released its source with instructions on how to run it here. It's a bit rough, but wanted to release a usable version quickly for others to be able to use it / build upon it. This is similar to the HiveMind indexer that builds views to power various frontends. It tails both the hive nodes and the hive engine sidechain nodes, the hive nodes for post data, and hive engine nodes for payout and vote data.

As with Scotbot, this indexer implements the methods documented here. One notable difference is that since this indexer has hive post data, it can implement a get_thread endpoint that can fetch all posts and replies up to a certain depth for a given author and permlink.

Comments Contract Nitrous Frontend

Since the comments contract indexer shares a lot in common with the Scotbot API, the Nitrous frontend did not take too long to adapt to work with the comments contract. The main part is fetching voting power data from hive engine API, and comment reward pool information. You can see the code in this branch.

Sort:  

great job!

But the token owner can issue new tokens after the launcher? It would be nice if there was an option of the token owner not being able to issue more token after the launcher.

Theoretically this is possible if you set the setting and then changed ownership to a non-existent account. Though this will also prevent someone from turning it off in the event that it is misbehaving. You may want to change ownership to a multisig account, for example.

Seriously good work for those looking to get their token out there thank you! !LUV

This is awesome, good formation

uiuiui thats nice.

I am interested in the node running.
The documentation is a good start to learn about all of the processes.
Thank you

Awesomesauce. A step towards decentralization give me the bullish tingly feel feels. Not that I didnt trust your bot or anything. But yea, fantastic.

Yup! Now you can lessen your dependence on trust.

Cool! Why is it called "comments contract" nothing in the post made that evident to me.

Good question haha. The naming is based off of the 'comment' and 'comment_options' ops in hive.

If someone was planning on launching a new token this month, would it matter if we waited longer or is it ok tonm go ahead? If we launch it tomorrow for example, do we miss being able to utilize these new updates?

Im assuming all updates are backwards compatible with all existing tokens.

Thanks

You can do it, but please reach out for process so you understand what steps you will need to do and clarify what exactly you are signing up for. The current Tribaldex form only submits to the previous scotbot .

Yes, will do.

Hi, I read the documentation mentioned here:

As with Scotbot, this indexer implements the methods documented here. One notable difference is that since this indexer has hive post data, it can implement a get_thread endpoint that can fetch all posts and replies up to a certain depth for a given author and permlink.

but the method you are indicating is not documented -> get_thread

Forgot to respond to this. Will add a doc and indicate that it's not in the older scotbot.

(removed)

(removed)

(removed)

(removed)

(removed)

removed