রিসোর্স লোড হচ্ছে... লোডিং...

exchange.IO("এপিআই",...)

দ্যexchange.IO("api", ...)ফাংশনটি স্মার্ট কন্ট্রাক্টের পদ্ধতিগুলিকে কল করার জন্য ব্যবহৃত হয়।

দ্যexchange.IO("api", ...)ফাংশনটি স্মার্ট কন্ট্রাক্ট পদ্ধতির রিটার্ন ভ্যালু প্রদান করে। string, number, 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()ফাংশন প্রয়োজনীয় প্যারামিটার নির্ধারণ করবেstateMutabilityABI এর মধ্যে একটি বৈশিষ্ট্য যা নিবন্ধিত হয়েছে।stateMutabilityঅ্যাট্রিবিউট হলnonpayable, তারপরvalueপ্যারামিটার পাস করার প্রয়োজন নেই। মূল্য মিথ্যা সংখ্যা, স্ট্রিং দ্যargপ্যারামিটার ব্যবহার করা হয় স্মার্ট চুক্তির পদ্ধতির প্যারামিটার নির্দিষ্ট করার জন্য।argপ্যারামিটার, এবং টাইপ এবং সংখ্যাargপ্যারামিটারগুলি স্মার্ট কন্ট্রাক্টের পদ্ধতির উপর নির্ভর করে। আর্গ মিথ্যা স্ট্রিং, সংখ্যা, বুল, এবং সিস্টেম দ্বারা সমর্থিত অন্যান্য সব ধরনের

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পদ্ধতি একটিconstantERC20 এর একটি পদ্ধতি যা গ্যাস খরচ করে না এবং এটি একটি টোকেনের নির্ভুলতা তথ্য অনুসন্ধান করতে পারে।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পদ্ধতি একটিconstantERC20 এর পদ্ধতি যা গ্যাস খরচ উৎপন্ন করে না এবং একটি নির্দিষ্ট চুক্তি ঠিকানার জন্য একটি টোকেনের অনুমোদিত পরিমাণ অনুসন্ধান করতে পারে।allowanceপদ্ধতিটি 2 টি পরামিতি গ্রহণ করে, প্রথমটি হল ওয়ালেট ঠিকানা এবং দ্বিতীয়টি হল অনুমোদিত ঠিকানা। রিটার্ন মানঃ টোকেনের অনুমোদনের পরিমাণ।
owner: মানিব্যাগের ঠিকানা, উদাহরণ স্ট্রিং owner দ্বারা প্রতিস্থাপিত হয়, প্রকৃত ব্যবহার নির্দিষ্ট ঠিকানা পূরণ করতে হবে।spender: অনুমোদিত চুক্তির ঠিকানা, উদাহরণটি স্ট্রিং দ্বারা প্রতিস্থাপিত হয় 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পদ্ধতি কল, আপনি প্ল্যাটফর্মs পাবলিকভাবে উপলব্ধ পড়ুন করতে পারেনUniswap V3 Trade টেমপ্লেট

কিছু বিবরণ এখানে ছদ্ম কোড ব্যবহার করে বর্ণনা করা হয়েছেঃ


exchange.IO("api", ContractV3SwapRouterV2, "multicall(uint256,bytes[])", value, deadline, data)

ContractV3SwapRouterV2: Uniswap V3 এর রাউটার v2 এর ঠিকানা।value: লেনদেনের টোকেনটি যদি ইটিএইচ না হয় তবে লেনদেনের জন্য ইটিএইচ পরিমাণ, যা 0 এ সেট করা আছে।deadline: deadlineপ্যারামিটারmulticallপদ্ধতি, যা (নতুন Date().getTime() / 1000) + 3600 এ সেট করা যেতে পারে, যা নির্দেশ করে যে এটি এক ঘন্টার জন্য বৈধ।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সব সিস্টেমের জন্য ডিফল্ট মান ব্যবহার করুন।

বিনিময়.IO (("কী",...) বিনিময়.IO (("ঠিকানা")