본문으로 건너뛰기

지갑 연계

Web3 지갑 및 기타 dApp을 Milkomeda와 연결하는 방법

분산형 금융의 미래 구축

아래에서는 milkomeda-js-sdk 패키지를 사용하여 Milkomeda에서 web3 지갑을 연결하는 방법 설명하겠습니다.

지갑과 Milkomeda 프로토콜의 연계

1. milkomeda-js-sdk 패키지 다운로드

Milkomeda-js-sdk 패키지는 여기에서 액세스할 수 있습니다. 이 패키지는 Milkomeda 배포의 정적 설정을 호스팅합니다.

정보

이를 사용하면 각 프로젝트에서 Milkomeda 하드 코딩의 정적 설정을 함께 사용할 필요가 없습니다.

2. milkomeda-js-sdk 패키지 설치

npm을 사용하여 패키지를 설치하는 경우:

npm i @dcspark/milkomeda-js-sdk

yarn을 사용하여 패키지를 설치하는 경우:

yarn add @dcspark/milkomeda-js-sdk

3. 패키지를 프로젝트로 가져오기

import 사용:

import { generateMilkomedaMetadata, milkomedaNetworks } from "@dcspark/milkomeda-js-sdk";

require 사용:

const milkomedaJsSdk = require("@dcspark/milkomeda-js-sdk");

milkomeda-js-sdk 패키지 세부정보

Milkomeda-js-sdk는 Milkomeda 배포의 정적 설정을 호스팅하는 패키지입니다. 이를 사용하면 각 프로젝트에서 Milkomeda 하드 코딩의 정적 설정을 함께 사용할 필요가 없습니다.

매개 변수설명
isMainnet특정 네트워크의 구성이 메인넷 (Cardano 등)인지 여부를 나타내는 부리언
mainchain프로토콜명(MilkomedaC1 등) 이나 사이드 체인 Id 등, 사이드 체인의 정보로 구성된다
sidechain프로토콜명(MilkomedaC1 등)이나 사이드 체인 Id 등, 사이드 체인의 정보로 구성된다
backendEndpoint사이드 체인의 특정 버전에 대한 추가 정보를 나타내는 서비스 URL 값 제공
protocolMagic적절한 Milkomeda 네트워크와 호환되는 프로토콜 매직 도입
timeIntervalForAddressMs밀리초 단위로 정의된 주소를 변경하는 데 필요한 시간 간격
sidechainContract모든 클라이언트가 연결할 수 있는 사이드체인 계약의 주소

게시된 페이로드의 예

다음은 Milkomeda 네트워크(Devnet) 페이로드를 공개한 예입니다.

{
[NETWORK_NAME]: {
isMainnet: false,
name: NETWORK_NAME,
mainchain: {
protocol: ProtocolNames.cardanoProtocol,
id: toChainId({
networkId: registry.Testnet.NetworkId,
networkMagic: registry.Testnet.NetworkMagic
})
},
sidechain: { protocol: ProtocolNames.evmProtocol, id: 200101 },
backendEndpoint: BackendEndpoints.devnet,
protocolMagic: ProtocolMagic.devnet,
timeIntervalForAddressMs: 86400000,
sidechainContract: "0x000000000000000000000000000000000000BbBB"
},
}

또한 패키지는 Milkomeda 트랜잭션에 적합한 메타데이터를 만드는 데 도움이 되는 도우미 유형과 함수를 활용합니다.

# Milkomeda metadata generator
generateMilkomedaMetadata(
address, # address is EVM address
protocolMagic # protocol magic for specific network
)

트랜잭션 메타데이터는 두 개의 매개변수로 구성됩니다. 프로토콜 매직 & EVM 주소입니다. 테스트넷 트랜잭션의 일반적인 메타데이터는 다음과 같습니다.

{
87: "devnet.cardano-evm.c1"
88: "0xEVM_TESTNET_ADDRESS"
}

트랜잭션의 Milkomeda 메타데이터를 생성한 예

generateMilkomedaMetadata("0x000…", milkomedaNetworks["c1-devnet"].protocolMagic);
정보

'0x000...'을 EVM 주소로 바꾸세요.

Milkomeda REST API

Milkomeda 사이드 체인에 대한 데이터를 검색하는 REST API에 대해 Milkomeda-js-sdk 패키지 이외의 것을 도입했습니다.

정보

이 예에서는 알기 쉽게 설명하기 위해 Flint 월렛 연계를 사용하고 있습니다.

REST API의 기본 URL은 milkomeda-js-sdk를 사용하여 backendEndpoint 매개변수로 제공됩니다. 다음 코드를 사용하여 패키지에서 가져올 수 있습니다.

milkomedaNetworks["c1-devnet"].backendEndpoint

기본 URL이 코드에 포함된 경우 다음 엔드포인트 중 하나를 사용할 수 있습니다. - Stargate address (V1/stargate)

Milkomeda REST API 스타 게이트 엔드포인트를 사용하면 Devnet과 메인넷에서 동일한 페이로드의 속성을 얻을 수 있습니다. 다음은 Devnet 페이로드의 예입니다.

{
"current_address": "addr_test1wz6lvjg3anml96vl22mls5vae3x2cgaqwy2ewp5gj3fcxdcw652wz",
"ttl_expiry": 1646438400000,
"ada": {
"minLovelace": "3000000",
"fromADAFeeLovelace": "500000",
"toADAFeeGWei": "500000"
},
"assets": [
{
"idCardano": "b4004c2f3edfdd2016d0fead9b927064f345534b000000000000000000000000",
"idMilkomeda": "9c223e1dAf6184672E982d9AA560D9FD1d09A01B",
"minCNTInt": "1",
"minGWei": "1000000000"
}

]
}

이 기사와 Milkomeda의 지원에 대해 궁금한 점이 있으면 https://www.milkomeda.com/support 또는 Discord 서버에 문의하시기 바랍니다.