BlockRazor
Go to website
繁体中文
繁体中文
  • 👉关于BlockRazor
  • 👨‍💻用户案例
    • 钱包
    • 去中心化交易所
    • Trading Bot
    • Searcher
    • 量化交易系统
  • 💸Solana
    • 总览
    • Authentication
    • APIs
      • sendTransaction
      • getTransactionFee
      • Sandwich Detector
  • 🖥️BSC
    • Authentication
    • Dedicate Node
      • 創建Dedicate Node
      • 使用Dedicate Node
    • 高性能網絡
      • Proto
      • Subscribe NewTxs
      • Subscribe NewBlocks
      • Send RawTx
      • Send RawTxBatch
      • 全節點同步
    • Block Builder
      • Send Bundle
      • Send PrivateTransaction
      • Call Bundle
      • Trace Bundle
    • APIs
      • GetGasPriceStream
      • GetAllGasPriceStream
      • Sandwich Detector
  • 🛡️Scutum(ETH & BSC)
    • 总览
    • New to MEV
    • 項目專屬RPC
    • 錢包用戶通用RPC
    • Searcher
      • Authentication
      • Subscribe Bundle
      • Send Bundle
  • 📄声明
    • 隱私聲明
Powered by GitBook
On this page
  • 介紹
  • 如何將RPC集成到項目中
  • 1. 配置RPC
  • 2.集成RPC
  • 3. 查詢交易
  • eth_sendRawTransaction
  • 請求參數
  • 請求示例
  • 返回示例
  • eth_sendMevBundle
  • 請求參數
  • 請求示例
  • 返回示例
  1. Scutum(ETH & BSC)

項目專屬RPC

PreviousNew to MEVNext錢包用戶通用RPC

Last updated 11 days ago

介紹

項目方無需訂閱計劃即可使用項目專屬RPC

Scutum的項目專屬RPC可以為Ethereum和BSC上的DEX、Bot、Wallet和DApp等訂單流項目提供MEV保護,支持返利至項目方用戶地址或項目方指定地址。

相比錢包用戶通用RPC,項目專屬RPC會為每個訂單流項目方提供專屬的RPC URL,支持可視化自定義RPC域名、交易披露、返利地址和Revert保護等參數,便於項目方低成本快速集成RPC。

如何將RPC集成到項目中

1. 配置RPC

  1. 在完成註冊並登錄控制台

  2. 在Scutum模塊下點擊RPC配置頁,查看專屬RPC的配置信息

  3. 點擊 更新,進入配置更新頁,根據需求調整參數,參數含義見如下表格

參數
含義

默認RPC URL

每個賬號默認自動生成1個Ethereum RPC和1個BSC RPC。默認RPC由系統自動生成,URL無法修改

自定義RPC URL

自定義RPC URL支持修改三級域名,可用於向項目的終端用戶推廣,引導用戶在錢包中添加自定義RPC

披露

系統默認將交易的hash和logs分享給Searcher,分享字段越多獲得返利的可能性越大,請在評估交易隱私披露必要性後謹慎操作

返利地址

默認返利地址為tx.origin,即會將返利返給交易的發起者,可修改為固定返利地址(EOA)

Revert保護

默認開revert保護,如交易在實際執行中發現revert,則不會納入區塊。為確保快速納入區塊,建議在以太坊的交易中設置一定的priority fee。

  1. 點擊 確認,系統將實時更新RPC配置

2.集成RPC

  1. 找到配置文件或代碼:打開項目工程,在DApp項目中找到配置RPC節點的文件或代碼段。這可能是一個配置文件,如.env、config.js、truffle-config.js等,或者是直接在代碼中硬編碼

  2. 修改RPC URL:將配置文件或代碼中的RPC URL修改為Scutum RPC URL

  3. 測試連接:更改後,在本地運行DApp或相應的測試腳本來確保新的RPC URL可以正常工作,可以使用如web3.eth.net.isListening()或ethers.provider.pollingInterval等方法來檢查連接是否成功

  4. 部署更新:如測試通過,可以將變更部署至生產環境

// 引入Web3
const Web3 = require('web3');

// 創建web3實例並連接到RPC URL
const web3 = new Web3('https://ethereum-rpc.publicnode.com'); // 可在此处将RPC URL替换为Scutum RPC URL

// 檢查連接
web3.eth.net.isListening()
  .then((listening) => {
    console.log('Web3 connected: ', listening);
  })
  .catch((err) => {
    console.error('Web3 connection error: ', err);
  });

3. 查詢交易

  1. 在Scutum模塊下點擊【返利】查看返利情況,點擊【交易】查看項目交易情況

eth_sendRawTransaction

請求參數

參數
必選
格式
示例
備註

-

是

bytes

"0xd46e……445675"

raw tx

請求示例

curl -X POST -H "Content-Type: application/json" --data '{
    "id": 1,
    "jsonrpc": "2.0",
    "method": "eth_sendRawTransaction",
    "params": [
        "0xd46e……445675"
    ]
}' https://bsc.blockrazor.xyz

返回示例

正常

{
  "id":1,
  "jsonrpc": "2.0",
  "result": "0xe670……527331"
}

異常

{
  "jsonrpc": "2.0",
  "id": 1,
  "error": {
	"code": -32000,
	"message": "rlp: element is larger than containing list"
  }
}

eth_sendMevBundle

訂單流項目方可以向項目專屬RPC發送bundle,方法名為eth_sendMevBundle。

在BSC中,eth_sendMevBundle允許在bundle中包含0 gwei的交易,但bundle中交易(public mempool中的交易除外)的平均gasPrice仍需不小於0.1 gwei。由於BSC的多個頭部builder對該模式具有倾向性,建議構建0 gwei的交易。

請求參數

bundle

參數
必選
格式
示例
備註

txs

是

[]bytes

[ "0xf84a……e54284" ]

raw txs,最多允許設置50筆

revertingTxHashes

否

[]hash

["0x1f23……0abb1e"]

允許revert的交易哈希,是txs的子集

maxBlockNumber

是

uint64

39177941

該bundle有效的最大區塊號

否

refundAddress

否

address

"0x9abae1b279a4be25aeae49a33e807cdd3ccffa0c"

如hint中存在值為true的交易字段,則需要設置本字段,地址需为EOA

hint

hint針對txs中的交易設置披露信息,如果設為true則視為披露該交易字段,false視為不披露該交易字段,如不設置,則默認為false。

參數
必填
格式
示例
備註

hash

否

bool

true

交易哈希

from

否

bool

false

交易的發起方地址

to

否

bool

false

交易的接收方地址

value

否

bool

false

交易value

nonce

否

bool

false

交易nonce

calldata

否

bool

false

交易calldata

functionSelector

否

bool

false

合約函數簽名哈希的前4個字節

logs

否

bool

true

交易在執行過程中拋出的事件日誌(該字段聯動設置是否披露狀態對象的數據變化)

請求示例

curl -X POST -H "Content-Type: application/json" --data '{
	"id": 1
	"jsonrpc": "2.0",
	"method": "eth_sendMevBundle",
	"params": [{
		"txs": ["0xf84a8080808080808193a0437a5584216e68d1ff5bd7803161865e058f9bf4637fd1391213eac03ae64444a00df12bffe475d5dd8cc1544b72ee280471f1dcb5173827ba41eb25cfc3e54284"],
		"revertingTxHashes": [],
		"maxBlockNumber": 39177941,
		"hint": {
			"hash": true,
			"from": false,
			"to": false,
			"value": false,
			"nonce": false,
			"calldata": false,
			"functionSelector": false,		
			"logs": true
		},
		"refundAddress": "0x9abae1b279a4be25aeae49a33e807cdd3ccffa0c"
	}]
}'<ETH_NODE_URL>

返回示例

正常

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": "0x11111111..."
}

異常

{
  "jsonrpc": "2.0",
  "id": 1,
  "jsonerror": {
	  "code": -38000,
	  "message": "nonce too low: address 0x9Abae1b279A4Be25AEaE49a33e807cDd3cCFFa0C, tx: 0 state: 45"
  }
}

登錄

Scutum的eth_sendRawTransaction 兼容原生的JSON-RPC方法,无需进行额外修改。如需修改交易披露、返利地址和revert保护等参数,可前往配置专属RPC。

詳見

🛡️
blockrazor.io
blockrazor.io
控制台
hint
map[string]bool
hint