본문 바로가기

반응형

프로그램언어/Javascript

(10)
React Input value as number 리액트에서 input 태그에 입력된 입력값을 state 에 세팅하려고 할 때, 숫자를 입력해도 string 으로 저장될 때 다음 코드를 참고하세요. const handleMintAmountChange = (event) => setMintAmount(event.target.valueAsNumber);
(react) JSON array 를 setState array 로 관리하여 display 하기 https://dev.to/shareef/how-to-work-with-arrays-in-reactjs-usestate-4cmi API 호출을 통해 리턴된 json array 를 setState 로 관리(추가)하고, state 정보를 table 로 display 해보자. API 호출에 대한 응답값은 다음과 같다. [ { "associatedTokenAddress": "AgzKHLLVUSPQerWnGx7EUDEoU65WywTbRk8jgs57uCK2", "mint": "H6iaaQxQSWn8W68jDkVxtP9KuCZwK4a2bZtcaMjDfLpr" }, { "associatedTokenAddress": "36k1UoepVwUymusrphAVzYNe5NBKbUzy1u1TrQFk6Y4E", "mint": "8..
[react + nestjs] fetch cors 에러 로컬호스트에 띄워놓은 react 로부터 nestjs 으로 api 호출을 하려고 한다. fetch 함수를 사용한 POST 호출을 하는데 다음과 같은 에러를 마주할 수 있다. Access to fetch at 'http://localhost:3000/solana-nft/getAllNftsByAddress' from origin 'http://localhost:1234' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: The value of the 'Access-Control-Allow-Origin' header in the respo..
Infura ipfs (get) vs (cat) Infura 서비스 중 IPFS 를 활용하면 NFT 의 metadata 를 IPFS 서버에 업로드 하는데 사용할 수 있다. 그리고 nodejs 서버를 통해 업로드한 json 데이터를 받아오기 위해 다음 코드처럼 사용하면 된다. const cid = 'QmTUy2xbUAjf3E79u4JztNP4JEbD8vh45kVVeM3n7rvWX8'; const options = { host: 'ipfs.infura.io', port: 5001, path: '/api/v0/cat?arg='+cid, method: 'POST', // auth: process.env.INFURA_PROJECT_ID + ':' + process.env.INFURA_PRO..
nestjs dotenv 설정 공식 docs 에서는 @nestjs/config 객체를 활용할 것을 권장한다. provider로 등록하여 하나의 파일에서 환경변수들을 관리할 수 있다. @nestjs/config 를 사용하지 않더라고 기본적으로 nest 서버는 .env 파일들의 환경변수를 ConfigModule 을 통해 임포트 한다. @Controller, @Injectable 등으로 provider 로 생성된 객체 안에서는 process.env.NAME 식으로 사용할 수 있다. 출처 provider 로 생성되지 않는 영역에서는 다음 코드를 입력하면 process.env.NAME 접근에 대해 undefined 가 리턴되지 않는다. import * as dotenv from 'dotenv' dotenv.config(); 번외..
npm dependency 고정하기 솔라나 오픈소스를 이용하여 개발하던 중 발생하지 않았던 에러가 발생했다. src/solana-nft/commands/mint-nftV2.ts:26:3 - error TS2305: Module '"@solana/web3.js"' has no exported member 'TransactionCtorFields'.내가 참고하고자 하는 "@metaplex-foundation/mpl-token-metadata": "^2.1.1" 소스코드에서는 TransactionCtorFields 객체를 사용하고 있으며, 해당 npm 프로젝트 (fixed-price-sale) 에서는 "@solana/web3.js": "^1.37.0" 를 dependency 로 가지고 있었다. 나도 그래서 "@sol..
node_modules 로컬 파일 바라보기 노드js 오픈소스로 개발을 하다보면 dependency 로 받아온 패키지로부터 에러 로그가 발생하곤 한다. 필자는 솔라나 민팅 프로그램을 만들면서 "@metaplex-foundation/mpl-token-metadata": "^2.1.1" 패키지를 사용하는데, 이 패키지의 dependency 로 "@metaplex-foundation/beet-solana": "^0.1.1" 패키지를 받아온다. 그리고 아래와 같은 에러가 발생했다. [Nest] 20081 - 05/16/2022, 2:14:10 PM ERROR [ExceptionsHandler] value.toBytes is not a function TypeError: value.toBytes is not a function at Object.write ..
async 함수 throw catch sync 함수의 경우에 기본적인 try { functionA() } catch (e) { console.error(e) } 문을 사용하고, async 함수의 경우에는 Promise 를 해결하기 위해 functionB().catch(e) { console.error(e) } 처럼 핸들해줘야 한다.