[OP Stack on BSC] eth_sendRawTransaction not available - forge/cast deployment failing #890
Replies: 3 comments 3 replies
-
i recommend you contact team if you want to use op stack in production(better communication), also since it is on bsc network(which not official supported, more communication from engineer team would be needed) https://www.surveymonkey.com/r/JTGHFK3 i assumed you already read https://docs.optimism.io/operators/chain-operators/tutorials/create-l2-rollup , it received a revamp by docs team recently first, can you check if sequencer is active or not?
i don't think
optional, op-txproxy and proxyd isn't required(but op-txproxy related to erc4337,i will try confirm with folks to avoid misunderstand answer)
check https://docs.optimism.io/operators/chain-operators/tutorials/create-l2-rollup
let us debug with
we have a simple troubleshooting thread before, i will feedback to team about adding one in docs as well |
Beta Was this translation helpful? Give feedback.
-
|
|
Beta Was this translation helpful? Give feedback.
-
|
@Chennugurr as this op-geth is worked as the sequencer node, you should not set the func (b *EthAPIBackend) SendTx(ctx context.Context, signedTx *types.Transaction) error {
if b.ChainConfig().IsOptimism() && signedTx.Type() == types.BlobTxType {
return types.ErrTxTypeNotSupported
}
// OP-Stack: forward to remote sequencer RPC
if b.eth.seqRPCService != nil {
data, err := signedTx.MarshalBinary()
if err != nil {
return err
}
if err := b.eth.seqRPCService.CallContext(ctx, nil, "eth_sendRawTransaction", hexutil.Encode(data)); err != nil {
return err
}
}
if b.disableTxPool {
return nil
}
// Retain tx in local tx pool after forwarding, for local RPC usage.
err := b.sendTx(ctx, signedTx)
if err != nil && b.eth.seqRPCService != nil {
log.Warn("successfully sent tx to sequencer, but failed to persist in local tx pool", "err", err, "tx", signedTx.Hash())
return nil
}
return err
}So please remove the |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Did you check the documentation?
Did you check for duplicate questions?
Issue Description
Hi OP Stack community,
I've been hired to deploy a production OP Stack L2 that settles to BSC mainnet (Chain 56). This is my first OP Stack deployment, and I've successfully deployed all L1 contracts and got the L2 infrastructure running, but I'm stuck on transaction submission.
What's Working:
What's NOT Working:
forge createfails with: "error code -32601: the method eth_sendRawTransaction does not exist/is not available"cast sendfails with the same errorWhat I've Tried:
adminandpersonalAPIs to op-geth's--http.apiflagdocker inspect- confirmed they're in the command--force-recreatecancuntoparisto avoid PUSH0 opcode issuesCurrent Setup:
Question:
Is
eth_sendRawTransactionsupposed to work directly on op-geth's HTTP RPC in sequencer mode, or is proxyd/op-txproxy required for OP Stack chains? If proxyd is required, what's the minimal working configuration for a basic setup?I'd really appreciate any guidance - my client is waiting to deploy contracts to this L2 and I want to make sure I'm doing this correctly.
Thank you!
Logs
op-geth shows it's running with admin/personal APIs
docker inspect op-geth | grep "http.api"
Output: "--http.api=eth,net,web3,debug,txpool,admin,personal"
curl test works (method exists)
curl -X POST http://localhost:8545
-H "Content-Type: application/json"
--data '{"jsonrpc":"2.0","method":"eth_sendRawTransaction","params":["0x"],"id":1}'
Response: {"jsonrpc":"2.0","id":1,"error":{"code":-32000,"message":"typed transaction too short"}}
But forge fails
forge create src/core/ToraToken.sol:ToraToken
--rpc-url http://localhost:8545
--private-key 0x...
--legacy
--broadcast
Error: server returned an error response: error code -32601: the method eth_sendRawTransaction does not exist/is not available
op-node logs show sequencer running but not building blocks
docker-compose logs op-node | tail -20
Shows: unsafe=...:0 safe=...:0 finalized=...:0 (stuck at genesis)
Additional Information
docker-compose.yml op-geth config:
Attempts to use proxyd:
System:
Is there a recommended/tested configuration for op-geth + proxyd for custom OP Stack chains? Or should eth_sendRawTransaction work directly on op-geth?
Feedback
k:
Beta Was this translation helpful? Give feedback.
All reactions