DEX의 프로토콜인 0x의 0x 인스턴트를 해설한다.

동기 부여



0x 인스턴트에 관하여 기술적으로 해설하는 것. 실수, 의견이 있으시면 Twitter를 통해로 연락주십시오.

0x 인스턴트란 무엇인가?


  • 0x 인스턴트는, 다양한 토큰을 몇 탭으로 구입할 수 있는 매우 사용성이 높은 제품. 개발자는 무료로 오픈 소스 몇 줄의 코드를 통합하는 것만으로 응용 프로그램 내에 0x 인스턴트의 기능을 담을 수 있으며 수수료를 새로운 수익원으로 할 수있다.


  • 0x 인스턴트에 접속하면, Metamask가 자동으로 접속된다. 사고 싶은 토큰과, 토큰량을 지정해 구입 버튼을 누르는 것으로 간단하게 토큰의 구입을 할 수 있다.
  • 혁신적인 것은, ETH와 ERC20을 교환할 때, WETH를 생성하고 나서 ERC20과 교환해야 하지만, 0x 인스턴트에서는, WETH로 뒤에서 바꾸고 있기 때문에, 유저 시점에서는 ETH와 ERC20을 교환하는 것처럼 느낀다.
  • 0x 인스턴트에서 사용하는 라이브러리는 2개로 0x Instant UI ComponentAsset Buyer .
  • affiliateFee 의 파라미터에 Ethereum 주소를 지정하는 것으로 제휴료를 벌 수 있다. 백분율은 최대 5%.
  • 현재(2018/12/21) ETH로부터 ERC20, ERC721을 구입하는 옵션만이지만, 장래적으로는, ERC20을 ERC20으로 교환하는 것도 가능하게 될 예정.

  • 0x 인스턴트 UI 통합


    0x Instant UI ComponentAsset Buyer 는 JS 패키지로서 제공되고 있어 로컬 환경에 다운로드해 사용하는지 0x가 관리하는 서버 경유로 사용하는지 2택이다.

    0xInstant
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8" />
            <script src="https://instant.0x.org/instant.js" /></script>
        </head>
        <body>
            <script type='text/javascript'>
                function renderZeroExInstant() {
                    zeroExInstant.render(
                        {
                            orderSource: 'https://api.relayer.com/sra/v2/',
                        },
                        'body',
                    );
                }
            </script>
            <button onClick="renderZeroExInstant()">Hello World</button>
        </body>
    </html>
    

    HelloWorld를 누르면 0xInstant가 발동한다. 이 경우, https://api.relayer.com/sra/v2/ 로부터 주문이 취해진다.

    0x Instant 사용자 정의


    render() 내부를 사용자 정의하여 편집합니다.


    옵션
    설명


    orderSource
    Standard Relayer API HTTP endpoint 또는 서명된 0x 주문 식별

    공급자
    Ethereum provider의 인스턴스. 지정하지 않으면 주입된 공급자에게 지정됨

    walletDisplayName
    연결할 월렛 이름(Metamask 등)

    availableAssetDatas
    Instant를 통해 구매할 수 있는 자산 데이터를 지정합니다. 기본적으로 orderSource의 모든 토큰

    defaultSelectedAssetData
    availableAssetDatas에서 기본적으로 표시할 자산 지정

    defaultAssetBuyAmount
    구매할 토큰의 양, 기본적으로 0

    additionalAssetMetaDataMap

    networkId
    연결할 네트워크 ID, 기본적으로 1(메인 넷)

    affiliateInfo
    제휴사 보상을 얼마나 받을까. .05가 Max

    shouldDisableAnalyticsTracking
    Instant 분석을 할지 여부. 기본값은 false


    Standard Relayer API로 가져 와서 이러한 자산을 표시하는 경우
    zeroExInstant.render(
        {
            orderSource: 'https://api.relayer.com/sra/v2/',
        },
        'body',
    );
    

    어떤 공급자를 사용하고 있는지
    zeroExInstant.render(
        {
            orderSource: 'https://api.relayer.com/sra/v2/',
            provider: window.ethereum,
            walletDisplayName: 'Trust Wallet',
        },
        'body',
    );
    

    기본적으로 표시할 토큰을 지정하는 경우
    zeroExInstant.render(
        {
            orderSource: 'https://api.relayer.com/sra/v2/',
            availableAssetDatas: ['0xf47261b04c32345ced77393b3530b1eed0f346429d'],
            defaultSelectedAssetData: '0xf47261b04c32345ced77393b3530b1eed0f346429d',
        },
        'body',
    );
    

    제휴료를 받는 경우
    zeroExInstant.render(
        {
            orderSource: 'https://api.relayer.com/sra/v2/',
            affiliateInfo: {
                feeRecipient: '0x50ff5828a216170cf224389f1c5b0301a5d0a230',
                feePercentage: 0.03,
            },
        },
        'body',
    );
    

    런타임에 0.03%의 제휴료가 0x50ff5828a216170cf224389f1c5b0301a5d0a230로 송금된다.

    맞춤 토큰을 매매하는 경우
    zeroExInstant.render(
        {
            // these can contain makerAssetDatas that are not supported by default
            orderSource: [signedOrder1, signedOrder2],
            additionalAssetMetaDataMap: {
                '0xf47261b0000000000000000000000000744d70fdbe2bc4cf95131626614a1764df805b9e': {
                    assetProxyId: '0xf47261b0', // ERC20 Proxy Id
                    decimals: 18,
                    symbol: 'XXX',
                    name: 'My Custom Token',
                    primaryColor: '#F2F7FF', // Optional
                    iconUrl: 'https://cdn.icons.com/my_icon.svg', // Optional
                },
            },
        },
        'body',
    );
    

    참고


  • 0x Instant
  • 좋은 웹페이지 즐겨찾기