Klaytn client , dial 로 kas 에 연결 하고 싶습니다

안녕하세요

golang 으로 kas 에 연결해서 block 정보를 얻어 오고 싶습니다

현재 이더리움 에서는 아래와 같이 dial 하고 있습니다
ethdial, err := ethclient.Dial("https://mainnet.infura.io/v3/{key} ")
if err != nil {
log.Fatal(err)
}
package main

import (

"context"

"fmt"

"log"

"github.com/klaytn/klaytn/client"

)

func main() {

url := "https://{accessKeyId}:{secretAccessKey}@node-api.klaytnapi.com/v1/klaytn/open?chain-id=8271&accountId={accountId}"

klaytndial, err := client.Dial(url)

if err != nil {

    log.Fatal("Dial : ", err)

}

nowBlockNum, err := klaytndial.BlockNumber(context.Background())

if err != nil {

    log.Fatal("BlockNumber : ", err)

}

fmt.Printf("nowBlockNum %d \n", nowBlockNum.Int64())

}

github.com/klaytn/klaytn/client” 을 import 하고 처리 하려고 합니다
소스는 아래와 같습니다

발생 하는 에러는 아래와 같습니다
BlockNumber : 400 Bad Request: {“code”:1010007,“message”:“The path or method in request is invalid. Check the service API documentation and try again.”}

URL 이문제인가요?

@Tivas

안녕하세요.
KAS에 연결하고 싶으시다면 계정에 귀속된 accessKeyIdsecretAccessKey 를 토대로 Authorization 헤더에 값을 설정해주셔야 합니다. url에 들어가는 용도의 값이 아니고 Basic Authentication을 위한 값들입니다.

우선 Basic Authentication에 대한 내용을 학습하시고 아래의 소스코드들을 참고해서 구현해보시기 바랍니다.

Klaytn 측 소스코드는 아니지만 오픈소스 중 KAS를 사용하여 연결하는 Golang 코드가 있어서 공유드렸습니다.

도움이 되었길 바랍니다.

1 Like