FMZ 퀀트 트레이딩 플랫폼에서는 주로 다양한 기능을 구현합니다.exchange.IO()
다음 문서에서는exchange.IO()
그 기능에 따라 별도로 작동합니다.exchange.IO("abi", ...)
ABI를 등록하는 기능입니다.
exchange.IO(k, 주소, abiContent)
이k
매개 변수exchange.IO()
함수, 설정"abi"
함수가 등록을 위해 사용되는 것을 의미합니다.ABI
...
k
사실
문자열
의address
이 매개 변수는 스마트 계약의 주소를 지정하는 데 사용됩니다.
주소
사실
문자열
의abiContent
매개 변수를 지정하는 데 사용됩니다ABI
스마트 컨트랙트.
abi콘텐츠
사실
문자열
function main() {
// register Uniswap SwapRouter02 abi
var routerAddress = "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45"
var abi = `[{"inputs":[{"components":[{"internalType":"bytes","name":"path","type":"bytes"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amountOut","type":"uint256"},{"internalType":"uint256","name":"amountInMaximum","type":"uint256"}],"internalType":"struct IV3SwapRouter.ExactOutputParams","name":"params","type":"tuple"}],"name":"exactOutput","outputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"}],"stateMutability":"payable","type":"function"}]`
// Get the ```ABI``` content of the contract can be obtained with the following URL, taking the ```result``` field only, e.g:
exchange.IO("abi", routerAddress, abi)
}
스마트 컨트랙트를 호출하는 방법은 표준 ERC20 방법이라면 등록할 필요가 없습니다.
가져와ABI
계약의 내용은 다음 URL을 통해 얻을 수 있습니다.result
필드만, 예를 들어:
https://api.etherscan.io/api?module=contract&action=getabi&address=0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45
호출 방법exchange.IO("api", "eth", ...)
이 함수는 이더리움 RPC 메소드를 호출하는 데 사용됩니다.
이exchange.IO("api", "eth", ...)
함수는 호출된 RPC 방법의 반환 값을 반환합니다.
문자열, 숫자, bool, object, array, null 및 시스템에서 지원하는 다른 모든 타입
exchange.IO(k, 블록 체인, rpc 메소드)exchange.IO(k, 블록 체인, rpc 메소드,...args)
이k
매개 변수exchange.IO()
함수, 설정"api"
함수가 호출 요청을 확장하는 데 사용되는 것을 나타냅니다.
k
사실
문자열
의blockChain
매개 변수exchange.IO()
함수, 설정"eth"
함수가 Ethereum 네트워크에서 RPC 메소드 호출에 사용된다는 것을 나타냅니다.
블록 체인
사실
문자열
의rpcMethod
이 매개 변수는 RPC 메소드를 설정하는 데 사용됩니다.exchange.IO()
기능.
rpc 방법
사실
문자열
의arg
매개 변수는 호출되는 RPC 메소드의 매개 변수를 지정하는 데 사용됩니다.arg
매개 변수arg
그 매개 변수들은rpcMethod
매개 변수
아그
거짓
문자열, 숫자, bool, 객체, 배열, 함수, null 및 시스템에서 지원하는 다른 모든 유형
function main() {
// "owner" needs to be replaced with the specific wallet address
// Parameter labels for the "latest" string position: 'latest', 'earliest' or 'pending', please refrer to https://eth.wiki/json-rpc/API#the-default-block-parameter
// The return value ethBalance is a hexadecimal string: 0x9b19ce56113070
var ethBalance = exchange.IO("api", "eth", "eth_getBalance", "owner", "latest")
// ETH has a precision unit of 1e18
var ethDecimal = 18
// Because of the JavaScript language precision, it is necessary to use the system underlying package function BigInt, BigDecimal to process
// Convert ethBalance to readable amount, 0x9b19ce56113070 to 0.043656995388076145
Log(Number((BigDecimal(BigInt(ethBalance))/BigDecimal(Math.pow(10, ethDecimal))).toString()))
}
지갑에 있는 ETH 잔액을 확인하세요:
function mian() {
// ETH has a precision unit of 1e18
var ethDecimal = 18
// Number of transfers, readable amount e.g. 0.01 ETH
var sendAmount = 0.01
// Due to the JavaScript language precision, it is necessary to use the system underlying encapsulated functions BigInt, BigDecimal to process, and to convert the readable amount to the data processed on the chain
var toAmount = (BigDecimal(sendAmount)*BigDecimal(Math.pow(10, ethDecimal))).toFixed(0)
// "toAddress" is the address of the recipient's ETH wallet at the time of the transfer, which needs to be filled in specifically, and toAmount is the number of transfers
exchange.IO("api", "eth", "send", "toAddress", toAmount)
}
ETH 송금의 경우{gasPrice: 11, gasLimit: 111, nonce: 111}
매개 변수, 마지막 매개 변수에 설정exchange.IO()
특정 필요에 따라 기능.nonce
그리고 시스템 기본 사용, 또는 떠나gasLimit/gasPrice/nonce
설정 해제하고 모든 시스템 기본값을 사용하세요.
function toAmount(s, decimals) {
return Number((BigDecimal(BigInt(s))/BigDecimal(Math.pow(10, decimals))).toString())
}
function main() {
var gasPrice = exchange.IO("api", "eth", "eth_gasPrice")
Log("gasPrice:", toAmount(gasPrice, 0)) // 5000000000 , in wei (5 gwei)
}
쿼리gasPrice
:
function toAmount(s, decimals) {
// The toAmount function can convert hex-encoded values to decimal values
return Number((BigDecimal(BigInt(s))/BigDecimal(Math.pow(10, decimals))).toString())
}
function main() {
// Coding approve (authorization) method calls
var data = exchange.IO("encode", "0x111111111117dC0aa78b770fA6A738034120C302", "approve", "0xe592427a0aece92de3edee1f18e0157c05861564", "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")
Log("data:", data)
var gasPrice = exchange.IO("api", "eth", "eth_gasPrice")
Log("gasPrice:", toAmount(gasPrice, 0))
var obj = {
"from" : "0x0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", // walletAddress
"to" : "0x111111111117dC0aa78b770fA6A738034120C302",
"gasPrice" : gasPrice,
"value" : "0x0",
"data" : "0x" + data,
}
var gasLimit = exchange.IO("api", "eth", "eth_estimateGas", obj)
Log("gasLimit:", toAmount(gasLimit, 0))
Log("gas fee", toAmount(gasLimit, 0) * toAmount(gasPrice, 0) / 1e18)
}
쿼리eth_estimateGas
:
두 번째 매개 변수는exchange.IO()
함수"eth"
이더리움 노드 서버에서 사용할 수 있는 RPC 메소드를 직접 호출할 수 있습니다.
###############################################################################################################################################################################################################################################################
이exchange.IO("encode", ...)
데이터 인코딩을 위해 함수가 호출됩니다.
이exchange.IO("encode", ...)
함수는 암호화된 데이터를 반환합니다.
문자열
exchange.IO(k, dataFormat,...args)exchange.IO(k, 주소, 데이터 포맷)exchange.IO(k, 주소, 데이터 포맷,...args)
이k
매개 변수exchange.IO()
함수, 설정"encode"
함수는 데이터 코딩에 사용됩니다.
k
사실
문자열
의address
이 매개 변수는 스마트 계약의 주소를 설정하는 데 사용됩니다.exchange.IO("encode", ...)
기능,address
매개 변수는 스마트 계약에 메소드 호출을 코딩을 나타냅니다.exchange.IO("encode", ...)
기능, 만약address
매개 변수가 전달되지 않는 경우, 함수는 지정된 타입 순서를 코딩하는 데 사용되며 기능적으로abi.encode
안쪽Solidity
...
주소
거짓
문자열
의dataFormat
이 매개 변수는 암호화된 데이터의 방법, 유형 및 순서를 지정하는 데 사용됩니다.
데이터 형식
사실
문자열
의arg
이 매개 변수는dataFormat
한 개 이상 있을 수 있습니다.arg
매개 변수와arg
매개 변수dataFormat
파라미터 설정
아그
거짓
문자열, 숫자, 튜플, 배열, 그리고 시스템에서 지원하는 다른 모든 유형
function main() {
// Main network address of ContractV3SwapRouterV2: 0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45
// Calling the unwrapWETH9 method requires registering the ABI first, which is omitted here
// "owner" represents the wallet address, which need to fill in the specific, 1 represents the number of unpacking, unpacking a WETH into ETH
var data = exchange.IO("encode", "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45", "unwrapWETH9(uint256,address)", 1, "owner")
Log(data)
}
예를 들어, 인코딩 방법을 호출unwrapWETH9
:
function main() {
var x = 10
var address = "0x02a5fBb259d20A3Ad2Fdf9CCADeF86F6C1c1Ccc9"
var str = "Hello World"
var array = [1, 2, 3]
var ret = exchange.IO("encode", "uint256,address,string,uint256[]", x, address, str, array) // uint i.e. uint256 , the type length needs to be specified on FMZ
Log("ret:", ret)
/*
000000000000000000000000000000000000000000000000000000000000000a // x
00000000000000000000000002a5fbb259d20a3ad2fdf9ccadef86f6c1c1ccc9 // address
0000000000000000000000000000000000000000000000000000000000000080 // Offset of str
00000000000000000000000000000000000000000000000000000000000000c0 // Offset of array
000000000000000000000000000000000000000000000000000000000000000b // The length of str
48656c6c6f20576f726c64000000000000000000000000000000000000000000 // str data
0000000000000000000000000000000000000000000000000000000000000003 // The length of the array
0000000000000000000000000000000000000000000000000000000000000001 // array the first data
0000000000000000000000000000000000000000000000000000000000000002 // array the second data
0000000000000000000000000000000000000000000000000000000000000003 // array the third data
*/
}
이 예제와 같습니다abi.encode
안쪽Solidity
:
function main() {
var types = "tuple(a uint256,b uint8,c address),bytes"
var ret = exchange.IO("encode", types, {
a: 30,
b: 20,
c: "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"
}, "0011")
Log("encode: ", ret)
}
튜플 또는 튜플을 포함하는 타입 순서를 인코딩하는 것을 지원합니다.
이 유형의 순서는 다음과 같습니다.tuple
, bytes
그래서 전화할 때exchange.IO()
인코딩을 위해, 당신은 두 개의 매개 변수를 전달해야 합니다:
{
a: 30,
b: 20,
c: "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"
}
전달된 매개 변수는 또한 구조와 유형의tuple
, 그 정의에 따라types
양식의 매개 변수:tuple(a uint256,b uint8,c address)
.
bytes
:"0011"
function main() {
var path = ["0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", "0xdac17f958d2ee523a2206206994597c13d831ec7"] // ETH address, USDT address
var ret = exchange.IO("encode", "address[]", path)
Log("encode: ", ret)
}
배열 또는 배열을 포함하는 타입의 순차적 인코딩을 지원합니다:
이exchange.IO()
함수는encode
함수 호출 코드를 반환할 수 있는hex
문자열 형식입니다. 특정 사용을 위해 공개된 플랫폼을 참조할 수 있습니다.
이exchange.IO("encodePacked", ...)
함수에서 호출되는 방식은encodePacked
encoding.
이exchange.IO("encodePacked", ...)
함수는encodePacked
암호화된 데이터
문자열
exchange.IO(k, dataFormat,...args)
이k
매개 변수exchange.IO()
함수, 설정"encodePacked"
함수가 데이터에 사용되는 것을 의미합니다.encodePacked
코딩.
k
사실
문자열
의dataFormat
매개 변수는 종류와 순서를 지정하는 데 사용됩니다encodePacked
암호화된 데이터
데이터 형식
사실
문자열
의arg
이 매개 변수는dataFormat
한 개 이상 있을 수 있습니다.arg
매개 변수와arg
매개 변수dataFormat
파라미터 설정
아그
사실
문자열, 숫자, 튜플, 배열, 그리고 시스템에서 지원하는 다른 모든 유형
function main() {
var fee = exchange.IO("encodePacked", "uint24", 3000)
var tokenInAddress = "0x111111111117dC0aa78b770fA6A738034120C302"
var tokenOutAddress = "0x6b175474e89094c44da98b954eedeac495271d0f"
var path = tokenInAddress.slice(2).toLowerCase()
path += fee + tokenOutAddress.slice(2).toLowerCase()
Log("path:", path)
}
사용 시Uniswap V3
, 당신은 교환 경로와 같은 매개 변수를 전달해야합니다, 당신은encodePacked
코딩 동작:
이exchange.IO("decode", ...)
함수는 해독에 사용되는 방식으로 호출됩니다.
이exchange.IO("decode", ...)
function는 해독된 데이터를 반환합니다.dataFormat
매개 변수. 매개 변수에 의해 지정된 하나 이상의 데이터가 있을 때 배열을 반환dataFormat
매개 변수
배열,string
exchange.IO(k, data포맷, 데이터)
이k
매개 변수exchange.IO()
기능, 그리고 설정"decode"
함수가 데이터 디코딩에 사용된다는 뜻입니다.
k
사실
문자열
의dataFormat
이 매개 변수는 복호화된 데이터의 종류와 순서를 지정하는 데 사용됩니다.
데이터 형식
사실
문자열
의data
이 매개 변수는 암호 해독 데이터를 설정하는 데 사용됩니다.
데이터
사실
문자열
function main() {
var types = "tuple(a uint256,b uint8,c address),bytes"
var ret = exchange.IO("encode", types, {
a: 30,
b: 20,
c: "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"
}, "0011")
Log("encode: ", ret)
var rawData = exchange.IO("decode", types, ret)
Log("decode:", rawData)
}
역동 작동exchange.IO("encode", ...)
기능:
function main() {
// register SwapRouter02 abi
var walletAddress = "0x398a93ca23CBdd2642a07445bCD2b8435e0a373f"
var routerAddress = "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45"
var abi = `[{"inputs":[{"components":[{"internalType":"bytes","name":"path","type":"bytes"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amountOut","type":"uint256"},{"internalType":"uint256","name":"amountInMaximum","type":"uint256"}],"internalType":"struct IV3SwapRouter.ExactOutputParams","name":"params","type":"tuple"}],"name":"exactOutput","outputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"}],"stateMutability":"payable","type":"function"}]`
exchange.IO("abi", routerAddress, abi) // abi only uses the contents of the local exactOutput method, the full abi can be searched on the Internet
// encode path
var fee = exchange.IO("encodePacked", "uint24", 3000)
var tokenInAddress = "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"
var tokenOutAddress = "0xdac17f958d2ee523a2206206994597c13d831ec7"
var path = tokenInAddress.slice(2).toLowerCase()
path += fee + tokenOutAddress.slice(2).toLowerCase()
Log("path:", path)
var dataTuple = {
"path" : path,
"recipient" : walletAddress,
"amountOut" : 1000,
"amountInMaximum" : 1,
}
// encode SwapRouter02 exactOutput
var rawData = exchange.IO("encode", routerAddress, "exactOutput", dataTuple)
Log("method hash:", rawData.slice(0, 8)) // 09b81346
Log("params hash:", rawData.slice(8))
// decode exactOutput params
var decodeRaw = exchange.IO("decode", "tuple(path bytes,recipient address,amountOut uint256,amountInMaximum uint256)", rawData.slice(8))
Log("decodeRaw:", decodeRaw)
}
다음 예제에서는 먼저encodePacked
에 대한 작업path
패러미터 처리,exactOutput
나중에 코딩해야 하는 메소드 호출은path
매개 변수로encode
의exactOutput
라우팅 계약의 방법, 타입의 하나의 매개 변수만tuple
방법 이름exactOutput
코딩:0x09b81346
, 그리고exchange.IO("decode", ...)
그 결과의 암호를 해독하는 방법decodeRaw
, 변수와 일치합니다dataTuple
.
데이터 처리를 위해,exchange.IO()
이 기능은 암호화뿐만 아니라 해독도 지원합니다.
이exchange.IO("key", ...)
이 함수는 개인 키를 전환하는 방식으로 호출됩니다.
exchange.IO(K, 키)
매개 변수k
이 기능을 설정하는 데 사용됩니다.exchange.IO()
함수, 설정"key"
함수는 개인 키를 전환하는 데 사용됩니다.
k
사실
문자열
의key
프라이빗 키를 설정하는 매개 변수입니다
키
사실
문자열
function main() {
exchange.IO("key", "Private Key") // "Private Key" represents the private key string, which needs to be filled in specifically
}
이exchange.IO()
함수는 개인 키를 전환하는 것을 지원하며 여러 지갑 주소를 조작할 수 있습니다. 여러 지갑 주소를 조작하기 위해 여러 교환 객체를 추가 할 수도 있습니다.
이exchange.IO("api", ...)
이 함수는 스마트 계약의 메소드를 호출하는 데 사용되는 방식으로 호출됩니다.
이exchange.IO("api", ...)
함수는 소위 스마트 계약 방법의 반환 값을 반환합니다.
문자열, 숫자, bool, object, array, null 및 시스템에서 지원하는 다른 모든 타입
exchange.IO(k, 주소, 방법)exchange.IO(k, 주소, 방법,...args)exchange.IO(k, 주소, 방법, 값,...args)
이k
매개 변수exchange.IO()
함수, 설정"api"
함수가 호출 요청을 확장하는 데 사용되는 것을 나타냅니다.
k
사실
문자열
의address
이 매개 변수는 스마트 계약의 주소를 지정하는 데 사용됩니다.
주소
사실
문자열
의method
이 매개 변수는 호출될 스마트 계약의 메소드를 지정하는 데 사용됩니다.
방법
사실
문자열
의value
이 매개 변수는 전송될 ETH의 양을 설정하는 데 사용됩니다.stateMutability
실행해야 하는 스마트 계약 메소드의 속성은payable
, 그 다음value
매개 변수를 전달해야 합니다."stateMutability": "payable"
ABI에서 볼 수 있습니다.exchange.IO()
함수는 필요 매개 변수를stateMutability
등록 된 ABI에 속성.stateMutability
속성은nonpayable
, 그 다음value
매개 변수는 전달할 필요가 없습니다.
가치
거짓
숫자, 문자열
의arg
이 매개 변수는 호출될 스마트 계약의 메소드의 매개 변수를 지정하는 데 사용됩니다.arg
매개 변수와arg
매개 변수는 호출되는 스마트 계약의 방법에 달려 있습니다.
아그
거짓
문자열, 숫자, bool, 그리고 시스템에서 지원하는 다른 모든 유형
function main(){
var tokenAddress = "0x111111111117dC0aa78b770fA6A738034120C302" // The contract address of the token, the token is 1INCH in the example
Log(exchange.IO("api", tokenAddress, "decimals")) // Query, print 1INCH tokens with precision index of 18
}
이decimals
방법은constant
이 ERC20의 방법은 가스 소비를 발생하지 않으며 토큰의 정확성 데이터를 검색 할 수 있습니다.decimals
메소드에는 매개 변수가 없습니다. 반환 값: 토큰의 정확성 데이터.
function main(){
// The contract address of the token, in the example the token is 1INCH
var tokenAddress = "0x111111111117dC0aa78b770fA6A738034120C302"
// For example, the query yields 1000000000000000000, divided by the precision unit of the token 1e18, the wallet to which the current exchange object is bound has authorized 1 1INCH to the spender address
Log(exchange.IO("api", tokenAddress, "allowance", "owner", "spender"))
}
이allowance
방법은constant
ERC20의 방법은 가스 소비를 생성하지 않으며 특정 계약 주소에 대한 승인 된 토큰 금액을 검색 할 수 있습니다.allowance
이 방법은 2개의 매개 변수를 취하고, 첫 번째는 지갑 주소이고 두 번째는 승인 주소입니다. 반환 값: 토큰의 승인 금액.
owner
: 지갑의 주소는, 예제는 문자열 spender
: 허가 계약의 주소를, 예를 들어 문자열에 의해 대체됩니다Uniswap V3 router v1
address.
function main(){
// The contract address of the token, the token is 1INCH in the example
var tokenAddress = "0x111111111117dC0aa78b770fA6A738034120C302"
// The hexadecimal string of the authorization amount: 0xde0b6b3a7640000 , the corresponding decimal string: 1e18 , 1e18 divided by the precision unit of the token, i.e. 1 token amount, so this refers to the authorization of one token
Log(exchange.IO("api", tokenAddress, "approve", "spender", "0xde0b6b3a7640000"))
}```
The ```approve``` method is a non-```constant``` method of ERC20, which generates gas consumption and is used to authorize the operation amount of a token to a contract address. The ```approve``` method takes 2 parameters, the first one is the address to be authorized and the second one is the amount to be authorized. Return value: txid.
```spender```: the address of the authorized contract, the example is replaced by the string "spender", the actual use needs to fill in the specific address, for example, it can be ```Uniswap V3 router v1``` address. ```0xde0b6b3a7640000```: the number of authorizations, here is the hexadecimal string, the corresponding decimal value is 1e18, divided by the token precision unit in the example (i.e. 1e18). The result is that 1 token is authorized. The third parameter of the ```exchange.IO()``` function is passed to the method name ```approve```, which can also be written in the form of methodId, such as "0x571ac8b0". It is also possible to write the full standard method name, for example: "approve(address,uint256)".
```javascript
function main() {
var ContractV3SwapRouterV2 = "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45"
var tokenInName = "ETH"
var amountIn = 0.01
var options = {gasPrice: 5000000000, gasLimit: 21000, nonce: 100} // This is an example, depending on the actual scene settings
var data = "" // The encoded data, here is the empty string, depending on the actual scene settings
var tx = exchange.IO("api", ContractV3SwapRouterV2, "multicall(uint256,bytes[])", (tokenInName == 'ETH' ? amountIn : 0), (new Date().getTime() / 1000) + 3600, data, options || {})
}
이multicall
이 방법은constant
방법Uniswap V3
가스 소비를 발생시키고 여러 가지 방법으로 토큰을 환불하는 데 사용됩니다.
의multicall
메소드는 매개 변수를 전달하는 다양한 방법을 가질 수 있습니다. 메소드를 구체적으로 포함하는 ABI를 확인할 수 있습니다. 메소드를 호출하기 전에 ABI를 등록해야 합니다. 반환 값: txid.
구체적인 예제multicall
방법 호출, 당신은 공개 가능한 플랫폼을 참조할 수 있습니다
이 부분에서는 위조 코드를 사용하여 몇 가지 세부 사항을 설명합니다.
exchange.IO("api", ContractV3SwapRouterV2, "multicall(uint256,bytes[])", value, deadline, data)
ContractV3SwapRouterV2
: Uniswap V3의 라우터 v2의 주소value
: 교환 거래의 토큰인 토큰이 ETH가 아닌 경우 전송할 ETH의 금액, 0로 설정됩니다.deadline
: deadline
이 지표의 매개 변수multicall
메소드 (new Date().getTime() / 1000) + 3600로 설정할 수 있어 1시간 동안 유효합니다.data
: data
이 지표의 매개 변수multicall
메소드, 수행해야 하는 포장 작업의 데이터
비슷한exchange.IO("api", "eth", "send", "toAddress", toAmount)
, 그gasLimit/gasPrice/nonce
설정 방법 호출을 호출 할 때 지정할 수 있습니다multicall
방법.
다시 말하지만, 우리는 표절 코드를 사용하여
exchange.IO("api", ContractV3SwapRouterV2, "multicall(uint256,bytes[])", value, deadline, data, {gasPrice: 123456, gasLimit: 21000})
매개 변수{gasPrice: 11, gasLimit: 111, nonce: 111}
특정 필요에 따라 설정할 수 있습니다.exchange.IO()
기능.
방치 할 수 있습니다.nonce
그리고 시스템 기본값을 사용하거나gasLimit/gasPrice/nonce
설정 해제하고 모든 시스템 기본값을 사용하세요.
이exchange.IO("address")
함수는 {@var/EXCHANGE exchange} 교환 객체에 의해 구성된 지갑의 주소를 얻을 수 있는 방식으로 호출됩니다.
이exchange.IO("address")
이 함수는 구성된 지갑 주소를 반환합니다.
문자열
exchange.IO(k)
이k
매개 변수exchange.IO()
함수, 설정"address"
함수가 구성된 지갑 주소를 얻기 위해 사용된다는 것을 의미합니다.
k
사실
문자열
function main() {
Log(exchange.IO("address")) // Print the wallet address of the private key configured on the exchange object
}
이exchange.IO("base", ...)
함수는 RPC 노드 주소를 설정하는 방식으로 호출됩니다.
exchange.IO(k, 주소)
이k
매개 변수exchange.IO()
함수, 설정"base"
함수는 RPC 노드를 전환하는 데 사용됩니다.
k
사실
문자열
의address
이 매개 변수는 RPC 노드 주소를 설정하는 데 사용됩니다.
주소
사실
문자열
function main() {
var chainRpc = "https://bsc-dataseed.binance.org"
e.IO("base", chainRpc) // Switching to BSC chain
}
가닥
TA