stacks-network / sbtc-developer-release

sBTC primitives, signer components, helper tools
https://sbtc.tech
MIT License
1.98k stars 22 forks source link

[sBTC DR] create a stable romeo testnet deployment #262

Open radicleart opened 11 months ago

radicleart commented 11 months ago

Description

The sBTC bridge requires a stable Romeo deployment on testnet.

Context

We've been debugging Romeo against testnet using Romeo instances running from workstations. Moving the romeo engine to a cloud hosted service will enhance testing capabilities and others ability to build against the DR.

Expected Approach

Run romeo on Ubuntu server on Linode / Akamai provider

Acceptance Criteria

Romeo is stable and runs connected to testnet

AshtonStephens commented 11 months ago

Okay, I'll handle this one. I'll likely spin up a google cloud or AWS. @radicleart do you have any input on this

radicleart commented 11 months ago

Hey - yes I span one up today on Ubuntu but it keeps exiting. Not sure why - may need help from someone rust orientated.

radicleart commented 11 months ago

It needs to connect to bitcoin rpc, electrum and stacks node - we had problems using Hiro public test net and tried adding an api key. I ended up running with this config...

{
  "stacks_network": "testnet",
  "bitcoin_network": "testnet",
  "mnemonic": "...",
  "state_directory": "./state",
  "bitcoin_node_url": "http://devnet:devnet@localhost:18332",
  "electrum_node_url": "ssl://blockstream.info:993",
  "stacks_node_url": "http://localhost:3999",
  "contract_name": "asset-1"
}
radicleart commented 11 months ago

Romeo logs show the process stopping..

2023-10-12T10:17:37.150898Z  INFO spawn: romeo::system: Spawning task=FetchStacksBlock(128932)
thread 'tokio-runtime-worker' panicked at 'Unknown transation status: dropped_replace_by_fee', romeo/src/stacks_client.rs:202:23
2023-10-12T10:17:37.239256Z  INFO update: romeo::state: Processing event=StacksTransactionUpdate(49cc171922c389e11bf53640d3c4d3d83c04c0701cd232c451c84c9c03232b03, Rejected)
thread 'main' panicked at 'Got an Rejected status update for a Stacks transaction that is not acknowledged: 49cc171922c389e11bf53640d3c4d3d83c04c0701cd232c451c84c9c03232b03', romeo/src/state.rs:293:29

followed by..

^C[1]+  Exit 101                nohup romeo -c config.json
radicleart commented 11 months ago

Succesful burn using the sbtc-cli https://explorer.hiro.so/txid/0x3ad33772bb6071b810c27b976e2e9e69ea849ad2494a9307319d77dbc6070fa8?chain=testnet

friedger commented 11 months ago

Asset contract is ST3VA3Y7A2YQ8GW69T0N1ERPAD784R1Y2YHCSNJHH.asset

friedger commented 11 months ago

Are the logs publicly available? @setbern ?

AshtonStephens commented 11 months ago

No, they are not, not yet. I might be able to get that but it'll take a good deal of research.

If anyone knows of an easy way to get logs from a machine on GCP please lmk.

AshtonStephens commented 11 months ago

Oh, but romeo is indeed on testnet. Asset contract is ST3ACFZ2XKFPKAFD9YY92ZP0Y4QN6MTX3H20C27NY.asset. Now comes the "stable" part.

Romeo automatically takes updates from blockstack/sbtc:sbtc-release so when we get updates we can automatically consume them.

friedger commented 11 months ago

Nice. How does the update work? Could you add some info to sbtc-docs?

radicleart commented 11 months ago

Great stuff - can i point sBTC bridge to this contract ?