@solana/web3.js
의 Connection 함수를 사용 시
솔라나넷과의 통신에서 cors 오류가 발생.
구글을 찾아 보아도 해결방법이 나오지 않아서 코드를 뜯어 봤더니
Connection
의 생성자 파라미터 중 ConnectionConfig
에 fetch을 제공하면
Connection
이 default로 사용하던 fetch를 커스텀 가능.
solana-client
헤더를 제거하여 cors 문제 해결.
const customFetch = (url: RequestInfo, init?: any) => {
const { headers, ...rest} = init;
const {"solana-client": _, ...headerRest} = headers;
const option = init ? {
...rest,
headers: {
...headerRest
},
} : undefined
return fetch(url, option);
}
https://solana-labs.github.io/solana-web3.js/classes/Connection.html#constructor
https://github.com/solana-labs/solana-web3.js/blob/6482d0d/src/connection.ts#L2426
https://solana-labs.github.io/solana-web3.js/modules.html#ConnectionConfig
https://github.com/node-fetch/node-fetch/blob/main/%40types/index.d.ts