Development Request: Second Layer Token Automated Distribution

in HiveFive3 years ago

I have received a request for a development project from @successforall. The request is to automate the currently manual process of distributing a coin (second layer token created with tribaldex/hive-engine) to recipients.

After conducting some research on the Blockchain-based interaction that occurs when making a second layer token transfer, I am comfortable to accept the project. However, due to the nature of the "batch" processing task requested, I cannot yet guarantee results are equal to request, but can at the very least provide a streamlined interface and method for transferring which links up to the data source and distribution algorithm.

I am requesting acceptance of my proposal below:

  1. Project is broken down into smaller components, and compensation is handled separately for each.
  2. Each component operates as a separate agreement between parties, and there is not an agreement between both parties for the entire project itself.
  3. Components may individually operate differently than first discussed or expected.
    To provide an example:
    To start with, I plan to work on the transfer component itself. We would create an agreement between the two parties for development of an interface and method to transfer the coin to another account. This would likely still be a manual process, but be created in a way whose method would be automatable given the correct underlying circumstances (currently unknown until further project scoping occurs.)
    The next component may be to correlate the data source to a distribution algorithm and automatically update the transfer amount and recipient to correspond.
    Finally, a component may be to take the manual mechanism and apply a scheduled worker script to it in order to batch process in an automated fashion.

@successforall Have I outlined the requested project and tasks correctly, and do you have any changes or comments to add before we begin outlining the first component?

Sort:  

@cryptocharmers, @methodofmad

Sorry to bother you. My laptop crashed and I did not save the links to the two apps you developed for me to upvoter list creation and batch coin distribution. Could you kindly resend me the links to these apps?

 8 months ago  

Cryptocharmers isn't around very much these days, but I will see if I can contact him and have the links resent to you. I hope you are doing well. Give me about a week to contact him.

OK. Thanks for the prompt response.

 8 months ago  

Check your wallet. It should have come over as an encrypted memo. Let me know if you have a problem.

Hi @cryptocharmers, @methodofmad

I have just transferred 2nd partial payment of 10 Hives. Kindly acknowledge receipt.

Hi @cryptocharmers,

To start with, I plan to work on the transfer component itself.

With this transfer component will it be possible to upload the consolidated worksheet I mentioned earlier and distribute the coin to multiple accounts in one shot?

The transfer component would not sync at first, until the next build-out. I'm not sure there is a way in general at all to transfer coin to multiple accounts in one shot, from what I can see each has to be processed as its own transaction.

So, when the transfer component is completed what we will be able to do with it?

You would be able to use it to send a transfer of a specific amount of the coin to a specific HIVE username. It would be very similar to the Tribaldex/Hive-engine utility, except this one is a prerequisite so that the remainder of the project can be built. I am proposing that the project be split into modules because in this project's case each module consists of a different development cycle, and therefore works best to be treated separately.

Ok. I want to keep the next step

correlate the data source to a distribution algorithm and automatically update the transfer amount and recipient to correspond.

in the worksheet, it will be more flexible and can be changed anytime without any coding involved in the future.

I am not a technically savvy person correct me if I am wrong.

To complete the whole project you have to do the coding for Step 1 and step 3.

Step 1 - a setup similar to what I use in the current Dexs - in the Tribaldex/Hive-engine utility

Step 3 - the batch processing of the data from the uploaded worksheet which will contain data for username, amount to be transferred and memo.

Let me know if that is what needs to be done to complete the project, if yes, give me a quote for it.

Our quote for this project is 50 HIVE, which would include completion of the tasks and service, confirmation from you that the service is suitable, and any tweaks or fixes to ensure the service works as you expect.

Please let me know if this is suitable, and if so I can begin working on the project once partial "deposit" payment is received.

I accept your offer. But right now my Hive wallet is almost empty!. We have to wait for funds.

How long will it take to complete the project?

What do you have in mind for partial deposit? Once I have the partial deposit I can transfer it and you can start the project as we did with the last project.

Hi @cryptocharmers,

Finally, I got around to test the batch transfer. It looks like it transfers only the last record in the batch. I checked the Hive Engine transfer history and it also shows only the last record - willson-deng 0.001 TestTransfer - is transferred one time.

Following are the screenshots:

image.png

image.png

Hive Engine history:

image.png

Thank you for testing, I apologize it did not function as expected. I determined the issue and have corrected it, please revisit and refresh the page and try again. Please let me know if it is working as expected after conducting another test.

image.png

After the fix, the batch transfer is working as intended. It has processed all 14 records in the batch as intended.

Thanks for a job well done.

Now I want to run some more tests to make sure everything works as intended. But a few questions before I do it:

Is there a limit on how many records we can process in a batch?

In the instructions, you mentioned "Memo should contain only a few words or a short sentence and should be unique for that specific transaction. An example may be: 02-2020 Air Drop

Is there a limit on how many characters the Memo field can contain?

This is not related to this project but related to the first project you did for us - get_hive_voter_details - could you include the Hive value along with the HBD value of the reward for the upvotes as you can see I base the Tamil Coin reward on Hive and not on HBD. It will save me some additional work.

I'm glad it is working for you as intended!

I would recommend only processing up to a maximum of maybe 1000 records in a batch, if you expect to have to do more than that in a single batch let me know.

The memo length can contain more than a few words. There is not a limit in this system but there is likely a limit within Hive-Engine/TribalDex. Unless your memo is more than 150 characters I wouldn't think any limit would be taking place on either end.

I have updated the get_hive_voter_details webpage to display the values in HIVE instead of HBD. I know you said along with but doing it this way would prevent any unwanted errors on your spreadsheet due to having an additional column. If you do want me to add another column and bring back HBD let me know.

One other note, to account for potential larger batches I have added an additional section to the webpage which will appear above the results section at the bottom if there are any specific batch entries which fail to process. This is intended to make it easier to find any of the entries which would need to re-run.

Thanks for the prompt action and response. 1000 records in a batch should be more than enough.

As for the update with get_hive_voter_details, yes please bring back the HBD column and list both Hive and HBD. I will make sure I pick up the Hive value.

Okay I have updated the webpage and brought back HBD so now the CSV has 12 columns in total. The 3 for HBD and then an addtional 3 for HIVE (each set of 3 consisting of: value with currency name, value as a number only, and formula used to determine value)

Hi @cryptocharmers

Sorry for the delayed reply. It has been a busy week for both online and offline.

I will start testing the batch transfer and let you know the results.

Hi @cryptocharmers, @methodofmad

I have transferred 3rd and final payment of 20 Hives. Kindly acknowledge receipt.

 3 years ago  

Thank you. Payment has been received. We are glad we could work with you on this project. We wish you GREAT SUCCESS FOR ALL! Please keep in touch with us.

Hi @cryptocharmers, @methodofmad

My wallet is filling up and I will be able to transfer the initial deposit of 20 Hives in 2-3 days. Let me know to which username I have to send the funds.

 3 years ago  

@cryptocharmers is fine for the transfer. I hope you are doing well.

Hi @cryptocharmers, @methodofmad

As agreed I have transferred the initial deposit of 20 Hives for the project to the @cryptocharmers account. Kindly acknowledge receipt and let me know when you can start the project.

 3 years ago  

@successforall Receipt has been confirmed. I personally wanted to thank you for allowing us to do this project. I appreciate you working with us and I look forward to the finished results.

I have sent you a private memo containing the project link. Please review the page and instructions and run some test transfers (for example sending 1 coin to a few people in a batch) to ensure it works as expected. The batch method does require your key, so creating a separate "transfers" HIVE account may be useful.

The link sent includes the ability to send Hive-Engine/TribalDex second layer tokens (coins) to multiple users via batch processing. It does have some setup/instructions that need to be followed, and additionally proper care should be taken to confirm usernames and amounts before the batches are sent to prevent unwanted interactions, and in addition to confirm that each transfer successfully occurred.

If you have questions or concerns please let me know.

Thank you, I have received the deposit, I am starting the project today and will keep you updated.