Solana交易API
交易步骤
调用构造交易API,API将会使用最佳路由拼装交易参数,客户端可使用返回的txContent作为签名用交易,以及其他需要的参数
客户端本地进行交易签名。 Golang 签名示例如下,得到签名的交易Base64字符串
func signSolTx(privateKey solana.PrivateKey, txContent string) (string, error) {
var tx = new(solana.Transaction)
err := tx.Message.UnmarshalBase64(txContent)
if err != nil {
golog.Errorf("UnmarshalBase64() error = %v", err)
return "", err
}
_, err = tx.Sign(
func(key solana.PublicKey) *solana.PrivateKey {
if privateKey.PublicKey().Equals(key) {
return &privateKey
}
return nil
},
)
if err != nil {
golog.Errorf("unable to sign transaction: %v", err)
return "", err
}
return tx.MustToBase64(), nil
}调用发送交易API或自行发送交易至链上
API详情
构造交易
通过用户输入的入参,构造待签名的Solana交易
接口信息:
请求方法:POST
请求路径:/v1/thirdParty/chainWallet/createSolanaTx
Content-Type:application/json
请求参数:
creatorAddress
string
是
交易发起地址
inAmount
string
是
输入金额,按最小精度传入,如1 sol,则传入“1000000000”
inTokenAddress
string
是
输入代币地址, 买入时必须是SOL或USDT或USDC, SOL传参"sol"
outTokenAddress
string
是
输出代币地址, 卖出时必须是SOL或USDT或USDC, SOL传参"sol"
swapType
string
是
交易类型,枚举为buy/sell
slippage
string
是
滑点(百分比)单位bps,即10000为100%
fee
string
是
网络和节点优先费,单位为lamports。Ave将自动分配节点贿赂小费和网络优先费。
useMev
boolean
否
是否开启防夹,默认为false
feeRecipient
string
否
返佣地址
请求示例:
响应参数:
status
int
状态码
msg
string
响应消息
data
object
响应数据
data为以下结构体的数组
data字段说明:
creatorAddress
string
交易创建者地址
swapType
string
交易类型
inTokenAddress
string
输入代币地址
outTokenAddress
string
输出代币地址
txContent
string
交易内容
slippage
string
滑点(百分比),单位bps
minReturn
string
最小返回数量
inAmount
string
输入数量
estimateOut
string
预估输出数量
priorityFee
string
网络优先费,单位为lamports
bundleTip
string
节点小费,单位为lamports
amms
string[]
AMM信息
createPrice
string
创建价格,单位USD
requestTxId
string
请求交易id
响应示例:
发送签名后的交易
通过用户输入的入参,发送签名后的Solana交易
接口信息:
请求方法:POST
请求路径:/v1/thirdParty/chainWallet/sendSignedSolanaTx
Content-Type:application/json
请求参数:
requestTxId
string
是
请求交易id,通过构造Solana交易接口获取
signedTx
string
是
签名后的交易,使用base64 encode之后的字串
useMev
bool
否
是否开启防夹,默认不开启
请求示例:
响应参数:
status
int
状态码
msg
string
响应消息
data
object
响应数据
data为以下结构体的数组
data字段说明:
hash
string
交易hash
bundleId
string
jito的bundleID,在开启mev时返回
err
string
链上返回的错误信息
响应示例:
Last updated