리소스 로딩... 로딩...

exchange.IO("api", eth,...)

호출 방법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 메소드를 직접 호출할 수 있습니다.

###############################################################################################################################################################################################################################################################

교환.IO (("아비",...) 교환.IO (("코딩",...)