TRANS BRIDGE DOCS
  • 🌟개념
    • TransBridge란 ?
      • 소개
      • 왜 TransBridge인가?
    • 배경
      • 브릿지란 무엇인가요?
      • 메세지 확인
    • 토큰브릿지
      • Architecture
      • TVL
    • NFT브릿지
    • 수수료구조
  • 💻개발자
    • API 참조
      • 소개
        • 메인넷 컨트렉트 주소
        • 테스트넷 컨트렉트 주소
      • getNetworkFeeIdxByName
      • getNetworkFeeByIdx
      • customNhid
      • getToNetwork
      • setupFromERC20
      • setupFromERC721
      • setupFromERC1155
      • moveFromETHER
      • moveFromERC20
      • moveFromERC721
      • moveFromERC1155
    • Example
      • getNetworkFee
      • getNodeHome
      • bridgeCoin
      • bridgeErc20
      • bridgeErc721
      • bridgeErc1155
      • 구현예제(Mainnet)
      • 구현예제(Testnet)
  • 고객센터
    • 문의 및 제안
Powered by GitBook
On this page
  1. 개발자
  2. Example

getNodeHome

customNhid 함수를 통해 nodehome network에 등록되어있는 토큰인지 검사하고 getToNetwork를 활용하여 목적지 네트워크에 브릿지가 가능한지 체크합니다.

const ethers = require('ethers');

const network = "ETHEREUM"
const toNetwork = "KLAYTN"
const contract_address = "0xdF9c65B589e1286D4361EcFFa516e1fbfA4526df"
const typed = "token"
const rpcUrl = "https://ethereum.publicnode.com"
const toNetworkHex = "0X4B4C4159544E"
const bridgeConfigContractAddress = "0xf643a4fb01cbbfb561cc906c1f37d5718ef3bba3"

const getNodeHomeAsync = async(network, toNetwork, contract_address, typed) => {
    try {
        const provider = new ethers.providers.JsonRpcProvider(rpcUrl);

        const bridgeConfigContract = new ethers.Contract(
            bridgeConfigContractAddress,
            abiBridgeConfig,
            provider
        );

        const customNhidResponse = await bridgeConfigContract.customNhid(contract_address);

        const customNhid = BigInt(customNhidResponse).toString(16);

        if (customNhid != "0") { // customNhid가 0이면 노드홈체인에 등록안되어 있는 상태
            const getTokNetworkResponse = await bridgeConfigContract.getToNetwork(contract_address, toNetworkHex);

            const getTokNetwork = parseInt(getTokNetworkResponse, 16) // getToNetwork가 0이면 setup 등록된값이있으면 move로 bridge 가능
            
            return {
                result: "OK",
                type: getTokNetwork !== "0" ? typed : "setup",
            };
        } else {
            return {
                result: "OK",
                type: "setup"
            };
        }
    } catch (e) {
        return {
            result: "FAIL",
            error: e.message
        };
    }
}
PreviousgetNetworkFeeNextbridgeCoin

Last updated 1 year ago

💻