2024-08-18 14:07:53.652126 - bafyreif4kgenticfrbyf4zmbaup2xqavvoaigns4xmllsdzghugsiyvxfa-1723990011-34db9321 - 0:00:00.001761 (step): Publishing DnsRecord.
record:
meta:
so: 5f79f7368e2841718c83d7d369101be3
name: pwa-test-613-03bea2fad1.pwa.realitynetwork.store
request: bafyreif4kgenticfrbyf4zmbaup2xqavvoaigns4xmllsdzghugsiyvxfa
resource_type: A
type: DnsRecord
version: 0.0.1
laconic -c /etc/config/laconic.yml registry record publish --filename /tmp/tmp1npf8erv/record.yml
laconic -c /etc/config/laconic.yml registry name set lrn://lcn-example/dns/pwa-test-613-03bea2fad1.pwa.realitynetwork.store bafyreics5ayn7jyuhdp5ovkhymtkc7tix2orvhfkmnkm5b5mg7rf43ilaq
laconic registry name set [name] [id]
Set name (create name to record ID mapping).
Options:
--version Show version number [boolean]
-v, --verbose Verbose output [boolean] [default: false]
-c, --config Config file path. [string] [default: "config.yml"]
-o, --output Gives output in json format when specified. [string]
--user-key [string]
--tx-key [string]
--bond-id [string]
--chain-id [string]
-f, --filename
--id [string]
--address [string]
--gas [string]
--fees [string]
--help Show help [boolean]
TimeoutError: Transaction with ID 49BEA6FE54B16B7914BFDD28EDE632BE859AB0212CEC1985F744C7160E76CAAF was submitted but was not yet found on the chain. You might want to check later. There was a wait of 60 seconds.
at pollForTx (/usr/lib/node_modules/@cerc-io/laconic-registry-cli/node_modules/@cosmjs/stargate/build/stargateclient.js:249:23)
at pollForTx (/usr/lib/node_modules/@cerc-io/laconic-registry-cli/node_modules/@cosmjs/stargate/build/stargateclient.js:265:19)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
txId: '49BEA6FE54B16B7914BFDD28EDE632BE859AB0212CEC1985F744C7160E76CAAF'
}
rm -rf /tmp/tmp1npf8erv
2024-08-18 14:09:19.980237 - bafyreif4kgenticfrbyf4zmbaup2xqavvoaigns4xmllsdzghugsiyvxfa-1723990011-34db9321 - 0:01:26.328098 (step): ERROR: Command '('laconic', '-c', '/etc/config/laconic.yml', 'registry', 'name', 'set', 'lrn://lcn-example/dns/pwa-test-613-03bea2fad1.pwa.realitynetwork.store', 'bafyreics5ayn7jyuhdp5ovkhymtkc7tix2orvhfkmnkm5b5mg7rf43ilaq')' returned non-zero exit status 1.
2024-08-18 14:09:19.980317 - bafyreif4kgenticfrbyf4zmbaup2xqavvoaigns4xmllsdzghugsiyvxfa-1723990011-34db9321 - 0:02:27.981609 (total): DONE with status ERROR
for example:
```
2024-08-18 14:07:53.652126 - bafyreif4kgenticfrbyf4zmbaup2xqavvoaigns4xmllsdzghugsiyvxfa-1723990011-34db9321 - 0:00:00.001761 (step): Publishing DnsRecord.
record:
meta:
so: 5f79f7368e2841718c83d7d369101be3
name: pwa-test-613-03bea2fad1.pwa.realitynetwork.store
request: bafyreif4kgenticfrbyf4zmbaup2xqavvoaigns4xmllsdzghugsiyvxfa
resource_type: A
type: DnsRecord
version: 0.0.1
laconic -c /etc/config/laconic.yml registry record publish --filename /tmp/tmp1npf8erv/record.yml
laconic -c /etc/config/laconic.yml registry name set lrn://lcn-example/dns/pwa-test-613-03bea2fad1.pwa.realitynetwork.store bafyreics5ayn7jyuhdp5ovkhymtkc7tix2orvhfkmnkm5b5mg7rf43ilaq
laconic registry name set [name] [id]
Set name (create name to record ID mapping).
Options:
--version Show version number [boolean]
-v, --verbose Verbose output [boolean] [default: false]
-c, --config Config file path. [string] [default: "config.yml"]
-o, --output Gives output in json format when specified. [string]
--user-key [string]
--tx-key [string]
--bond-id [string]
--chain-id [string]
-f, --filename
--id [string]
--address [string]
--gas [string]
--fees [string]
--help Show help [boolean]
TimeoutError: Transaction with ID 49BEA6FE54B16B7914BFDD28EDE632BE859AB0212CEC1985F744C7160E76CAAF was submitted but was not yet found on the chain. You might want to check later. There was a wait of 60 seconds.
at pollForTx (/usr/lib/node_modules/@cerc-io/laconic-registry-cli/node_modules/@cosmjs/stargate/build/stargateclient.js:249:23)
at pollForTx (/usr/lib/node_modules/@cerc-io/laconic-registry-cli/node_modules/@cosmjs/stargate/build/stargateclient.js:265:19)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
txId: '49BEA6FE54B16B7914BFDD28EDE632BE859AB0212CEC1985F744C7160E76CAAF'
}
rm -rf /tmp/tmp1npf8erv
2024-08-18 14:09:19.980237 - bafyreif4kgenticfrbyf4zmbaup2xqavvoaigns4xmllsdzghugsiyvxfa-1723990011-34db9321 - 0:01:26.328098 (step): ERROR: Command '('laconic', '-c', '/etc/config/laconic.yml', 'registry', 'name', 'set', 'lrn://lcn-example/dns/pwa-test-613-03bea2fad1.pwa.realitynetwork.store', 'bafyreics5ayn7jyuhdp5ovkhymtkc7tix2orvhfkmnkm5b5mg7rf43ilaq')' returned non-zero exit status 1.
2024-08-18 14:09:19.980317 - bafyreif4kgenticfrbyf4zmbaup2xqavvoaigns4xmllsdzghugsiyvxfa-1723990011-34db9321 - 0:02:27.981609 (total): DONE with status ERROR
```
from https://git.vdb.to/cerc-io/webapp-deployment-status-api/issues/13#issuecomment-9189
This issue has been reported by multiple users for multiple transaction types, and may be related to high fee/gas settings, as well as blocks only including 1 txn
This issue has been reported by multiple users for multiple transaction types, and may be related to high fee/gas settings, as well as blocks only including 1 txn
This happens if the fees provided is not sufficient according to min gas price set by the node the txs are being sent to (1alnt on stage1 deployment node)
However, looking at the recent txs on stage1 chain where gas_wanted (provided in tx by user) is 9,950,000 (MsgSetRecord, MsgSetName, etc.), the actual gas_used is < 100,000:
So with users sending txs with gas set to 9,950,000 results in only one tx being included in the block and other users getting the error like:
TimeoutError: Transaction with ID 49BEA6FE54B16B7914BFDD28EDE632BE859AB0212CEC1985F744C7160E76CAAF was submitted but was not yet found on the chain. You might want to check later. There was a wait of 60 seconds.
To handle both insufficient fees and TimeoutError errors, we can ask users to set gas to a lower value in the SP docs
- With registry config (`gas: 9950000` and `fees: 500000alnt`) from SP [docs](https://github.com/hyphacoop/loro-testnet/blob/main/docs/service-provider-setup.md#deploy-backend), txs might run into the follow error:
```bash
BroadcastTxError: Broadcasting transaction failed with code 13 (codespace: sdk). Log: insufficient fees; got: 500000alnt required: 9950000alnt: insufficient fee
```
- This happens if the fees provided is not sufficient according to min gas price set by the node the txs are being sent to (`1alnt` on stage1 deployment node)
- However, looking at the recent txs on stage1 chain where `gas_wanted` (provided in tx by user) is `9,950,000` (`MsgSetRecord`, `MsgSetName`, etc.), the actual `gas_used` is < 100,000:
```bash
# Against stage1 deployment node
✗ laconicd --node https://laconicd.laconic.com:443 query txs --query "tx.height > 67196 AND tx.height < 67200" --output json | jq '{total_count, txs: [.txs[] | {gas_used: .gas_used, gas_wanted: .gas_wanted, height: .height, timestamp: .timestamp, messages: [.tx.body.messages[] | {"@type": .["@type"]}]}]}'
{
"total_count": "4",
"txs": [
{
"gas_used": "47412",
"gas_wanted": "200000",
"height": "67197",
"timestamp": "2024-08-22T07:40:24Z",
"messages": [
{
"@type": "/cerc.auction.v1.MsgCommitBid"
}
]
},
{
"gas_used": "51359",
"gas_wanted": "9550000",
"height": "67197",
"timestamp": "2024-08-22T07:40:24Z",
"messages": [
{
"@type": "/cerc.registry.v1.MsgSetRecord"
}
]
},
{
"gas_used": "51229",
"gas_wanted": "9950000",
"height": "67198",
"timestamp": "2024-08-22T07:40:28Z",
"messages": [
{
"@type": "/cerc.registry.v1.MsgSetRecord"
}
]
},
{
"gas_used": "51128",
"gas_wanted": "9950000",
"height": "67199",
"timestamp": "2024-08-22T07:40:32Z",
"messages": [
{
"@type": "/cerc.registry.v1.MsgSetRecord"
}
]
}
]
}
```
So setting the gas as 100,000 - 200,000 should suffice for the registry txs
- Regarding chain congestion, the gas value 9,950,000 is very close to the `max_gas` limit for a block (10,000,000)
- The default consensus params are as follows:
```bash
# Against stage1 deployment node
✗ laconicd query consensus params --node https://laconicd.laconic.com:443
params:
abci: {}
block:
max_bytes: "22020096"
max_gas: "10000000"
...
```
- So with users sending txs with gas set to 9,950,000 results in only one tx being included in the block and other users getting the error like:
```bash
TimeoutError: Transaction with ID 49BEA6FE54B16B7914BFDD28EDE632BE859AB0212CEC1985F744C7160E76CAAF was submitted but was not yet found on the chain. You might want to check later. There was a wait of 60 seconds.
```
- Refernce: https://github.com/cosmos/cosmos-sdk/issues/2150
- To handle both `insufficient fees` and `TimeoutError` errors, we can ask users to set gas to a lower value in the SP [docs](https://github.com/hyphacoop/loro-testnet/blob/main/docs/service-provider-setup.md#deploy-backend)
> Wonderful. Thanks for the quick solution. What commands do existing testnet validators run to fix their configurations?
No changes are required to the validator node's config, just need to set lower gas amount in the web-deployer config:
https://github.com/hyphacoop/loro-testnet/blob/main/docs/service-provider-setup.md#deploy-backend
```bash
services:
registry:
rpcEndpoint: 'https://lcn-daemon.laconic.com:26657'
gqlEndpoint: 'https://lcn-daemon.laconic.com:9473/api'
userKey: e64ae9d07b21c62081b3d6d48e78bf44275ffe0575f788ea7b36f71ea559724b
bondId: ad9c977f4a641c2cf26ce37dcc9d9eb95325e9f317aee6c9f33388cdd8f2abb8
chainId: lorotestnet-1
gas: 9950000
fees: 500000alnt
```
I assume the very high gas limit came about due to a previous problem where the nodes were charging more and more gas as the size of the registry grew, leading to txns failing from lack of gas. I doubt anyone was aware at the time that there was the potential to have this second problem.
I assume the very high gas limit came about due to a previous problem where the nodes were charging more and more gas as the size of the registry grew, leading to txns failing from lack of gas. I doubt anyone was aware at the time that there was the potential to have this second problem.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
for example:
from cerc-io/webapp-deployment-status-api#13 (comment)
Chain congestion prevents setting namesto Chain congestion prevents setting names, publishing records, etc.This issue has been reported by multiple users for multiple transaction types, and may be related to high fee/gas settings, as well as blocks only including 1 txn
What do you mean blocks only include 1 tx?
gas: 9950000andfees: 500000alnt) from SP docs, txs might run into the follow error:1alnton stage1 deployment node)gas_wanted(provided in tx by user) is9,950,000(MsgSetRecord,MsgSetName, etc.), the actualgas_usedis < 100,000:max_gaslimit for a block (10,000,000)insufficient feesandTimeoutErrorerrors, we can ask users to set gas to a lower value in the SP docsWonderful. Thanks for the quick solution. What commands do existing testnet validators run to fix their configurations?
No changes are required to the validator node's config, just need to set lower gas amount in the web-deployer config:
https://github.com/hyphacoop/loro-testnet/blob/main/docs/service-provider-setup.md#deploy-backend
Thanks for clarifying.
I assume the very high gas limit came about due to a previous problem where the nodes were charging more and more gas as the size of the registry grew, leading to txns failing from lack of gas. I doubt anyone was aware at the time that there was the potential to have this second problem.
@zramsay wasn't this issue resolved with the auto fee calculation patches?