→←↑↓
📌⚠️
viem docs의 Getting Started 부분정리해 놓은 것
import { createPublicClient, http } from "viem";
import { mainnet } from "viem/chains";
export default async function Home() {
  const client = createPublicClient({
    chain: mainnet,
    transport: http(),
  });
  const blockNumber = await client.getBlockNumber();
  
  console.log(blockNumber);
  return <div>Hello World</div>;
}
// console.
e.g. 23098157n
뒤의 n은 JavaScript의 BigInt 타입 표기
viem의 getBlockNumber()는 정밀도를 보존하기 위해 bigint를 반환하므로 콘솔에 23098157n처럼 표시
출력은 문자열로변환 할 것
문자열로 출력:blockNumber.toString() → "23098157"

viem에는 3가지 Client가 존재
1. Public Client : Public한 액션들에 접근
2. Wallet Client : 지갑과 관련한 액션들에 접근
3. Test Client : 테스트에 필요한 액션에 접근(채굴, 다른 계정의 신원으로 행동하는 기능)

HTTP Transport
http://... 주소를 통해 블록체인 노드와 통신WebSocket Transport
wss://... 주소로 실시간 양방향 통신Custom Transport
EIP-1193 규격의 request 함수를 사용하는 커스텀 방식MetaMask provider, WalletConnect provider 등을 직접 연결