beeimp
BeeImp
beeimp
전체 방문자
오늘
어제
  • 분류 전체보기 (110)
    • Program_Language (17)
      • Python (13)
      • Go (0)
      • JavaScript (4)
      • TypeScript (0)
      • Rust (0)
      • Solidity (0)
    • OS (8)
      • UNIX&LINUX (7)
      • Windows (0)
      • MacOS (1)
    • Front-End (19)
      • Svelte (19)
      • React (0)
    • Blockchain (6)
      • Bitcoin (0)
      • Ethereum (1)
      • Klaytn (0)
      • Project (5)
    • Data Structure&Algorithm (11)
      • Greedy (7)
      • Dynamic Programming (1)
      • Sort (0)
      • DFS & BFS (2)
      • Recursive (1)
    • Security (0)
      • SDP (0)
      • Authentication (0)
    • Network (3)
      • OpenWrt (0)
      • SDN&NFV (1)
    • Git (5)
    • IT_News (0)
    • 베타 학습단 (12)
      • SQL (12)
    • Project (1)
    • Issues (1)
    • Reviews (3)
    • I Learned (23)
      • TIL (23)
      • WIL (0)
    • Other (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Nest.js
  • javascript
  • 블록체인
  • 기초
  • Docker
  • svelte
  • mysql
  • blockchain
  • typescript
  • PYTHON
  • Ethereum
  • sql
  • solidity
  • jenkins
  • ubuntu
  • react
  • greedy
  • 탐욕법
  • Git
  • github

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
beeimp

BeeImp

[TIL] react, ethers, payable, file
I Learned/TIL

[TIL] react, ethers, payable, file

2022. 6. 16. 02:23
const CreateInputElement = ({ name, placeholder = "", onChange = () => { }, value=undefined }) => { 
    return ( 
        <InputWrapper> 
        { 
            value === undefined 
            ? <Input name={name} placeholder={placeholder} onChange={onChange}></Input> 
            : <Input name={name} placeholder={placeholder} onChange={onChange} value={value}></Input> } </InputWrapper> 
    ); 
}

[TIL] 한줄 요약

날짜

  • 2022.06.15.

목표

  • OpenSea 클론코딩 - IPFS 연동
  • FBI 개인 프로젝트 - 글쓰기 구현

내용

react - input value warning 해결

  • 문제 - value에 undefined가 들어갈 수 있어 발생
  • 해결
    • 1번째 방법
      const provider = await new ethers.providers.Web3Provider(window.ethereum);
      const signer = await provider.getSigner();
      let contract = await new ethers.Contract(SEANAPSE_NFT_CONTRACT_ADDRESS, seanpaseNtfAbi, signer, provider);
    • 2번째 방법
      <input value={state.value || ''} />

ethers 모듈 -사용한 Metamask 지갑 서명

  • 상황 - MetaMask를 통해 NFT 민팅

solidity - address payable

  • 상황 - 여러 로직을 실행 후 msg.sender가 다른 계정에 ether를 보내줄 때
function sendTo(address payable _to) public payable{
        bool result = _to.send(msg.value);                           // 결과를 반환값으로 돌려줌!
        require(result,"Send function failed.");
        emit PaymentSuccessful(msg.value);
    }

JS - jsonObject → 문자열 → Blob → File

  • 상황 - Object를 File로 생성하여 전달해야하는 경우
new File([new Blob([JSON.stringify(obj)])], "fileName.json");

결론

  • 자세한 부분에 대한 학습 진행
  • 모듈을 사용하지 않고 직접 구현하는 중

'I Learned > TIL' 카테고리의 다른 글

[TIL] 협업 개발 도구에는 무엇이?  (0) 2022.06.19
[TIL] well-known port  (0) 2022.06.18
[TIL] Why 토큰 이코노미? React에서 useState의 set함수는 비동기  (0) 2022.06.17
[TIL] 경고와 버전 이슈  (0) 2022.06.15
[TIL] OpenSea 클론코딩 시작 및 DeSo 컨트랙트 개발  (0) 2022.06.14
    'I Learned/TIL' 카테고리의 다른 글
    • [TIL] well-known port
    • [TIL] Why 토큰 이코노미? React에서 useState의 set함수는 비동기
    • [TIL] 경고와 버전 이슈
    • [TIL] OpenSea 클론코딩 시작 및 DeSo 컨트랙트 개발

    티스토리툴바