EvernodeXRPL / evernode-sdk

Evernode SDK
Other
43 stars 6 forks source link

`ACQUIRE_ERR` due to timeout #68

Closed jremi closed 1 year ago

jremi commented 1 year ago

I am reading thru all of the markdowns and getting acquainted with the architecture.

Yesterday I was successfully able to acquire host leases.

Today, I have attempted to acquire specific host and also random hosts. I have made several attempts over the last few hours to re-try acquiring a host lease.

All of my attempts are failing with

$ evdevkit acquire
command: acquire
Picked random host rsLdDhxqcaaRbM4rqTwN75x6AKHs82xyEE
Transaction result: tesSUCCESS
Waiting for acquire response... (txHash: 06CE3C9E6888BE0CD284206DE5E7BC1C2AB9D8C45D443795B5342E2859D7B1F4)
Error occurred while acquiring the instance: { error: 'ACQUIRE_ERR', reason: 'TIMEOUT' }

When I look at the Evernode dashboard for the specific host that was selected via the acquire and the lease offer has been taken.

What is the underlying cause of the { error: 'ACQUIRE_ERR', reason: 'TIMEOUT' } ?

Also, i just wanted to say that this project is very inspiring. I think what you guys are building is awesome 💯 🙏

wojake commented 1 year ago

Tx: https://hooks-testnet-v3-explorer.xrpl-labs.com/tx/06CE3C9E6888BE0CD284206DE5E7BC1C2AB9D8C45D443795B5342E2859D7B1F4

Tenant account's URIToken holdings: https://hooks-testnet-v3-explorer.xrpl-labs.com/rHt49uZVPzC2cn8ecRYkb4wbSswhQW2PvD/objects

Your tenant account has acquired all the instance's NFT off the market (successfully), I think there's a misconfiguration with your HotPocket contract's build/image? @ravinsp knows better tho 😄

kithminisg commented 1 year ago

@jremi , I think the issue might be due to the evdevkit version on your machine. Could you please update that to the latest version (0.6.4) and re-try?

Thanks for your feedback.

jremi commented 1 year ago

@wojake thanks for your comment.

@kithminisg I just upgraded the evdevkit from 0.6.3 to the latest 0.6.4.

I then re-ran the evdevkit acquire to randomly obtain a new host lease.

Now, successful ✅ . The CLI is now returning the "Instance created!" with the instance info.

That is great!

My next question:

What is the correct procedure for releasing the host leases that I no longer want?

For example:

  1. I acquire 5 host leases....
  2. I have not yet deployed any HotPocket contracts to any of the hosts.
  3. I want to now remove/destroy/release the leases from my account since I am not using them.

I do not see any CLI flag/options inside the evdevkit to do this... what is the best way to accomplish this?

🙏

kithminisg commented 1 year ago

@jremi, When you purchase hosting spaces (instances), they are only valid for a specific period. Once that period expires, the host will remove the instance, burn the relevant URI token, and create a new token for the available space.

Please note that as a tenant, you do not have the ability to remove instances by yourself. It is solely the responsibility of the host to perform such actions.

Additionally, hosts can permanently destroy instances and shut down the machine at any time. Hence, if you have concerns about a host's reliability, it is recommended to opt for a shorter duration when buying hosting spaces.

jremi commented 1 year ago

Hi @kithminisg ,

I waited for a few days and the leases never expired. This appeared to be some sort of issue potentially.

Today, I accessed the Dashboard for one of the hosts with the stuck leases the message ...

We have identified a problem with your lease offers, which are currently in a broken stage due to version incompatibility with the acquisition tool. To rectify this issue, we recommend that you back up your host account credentials and initiate a transfer, keeping the current host account as the transferee. After that, re-install Evernode on your machine using the backed up credentials. If you have any concerns, please inform us in the GitHub Issues section. We apologize for the inconvenience and greatly appreciate your patience and understanding.

I am going to continue playing around and try to follow the steps outlined in the in-app dashboard message.

kithminisg commented 1 year ago

@jremi, Actually, those leases are in a broken stage because they were purchased using the deprecated acquire protocol. As a result, the host was unable to identify them as valid acquisitions, and no instance creation took place. However, these leases will not be automatically burnt and recreated by the software on the host machine since they are in the broken stage. That's why we recommended those hosts perform a transfer and a re-installation to generate leases freshly. Hence, those broken leases (URI Tokens) will remain in your tenant's wallet.

jremi commented 1 year ago

@kithminisg thanks for the information.

I did a host transfer/re-install and re-generated new leases. I will try testing deployment of a contract with the latest versions of evdevkit