일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 정보처리기사실기
- solidity
- it5
- React
- Klaytn
- git
- 노마드코더
- 카카오페이지클론
- web3.js
- 노개북
- npm
- it5분잡학사전
- 이더리움
- 블록체인
- 비트코인
- 정보처리기사
- node.js
- ETH
- 정보처리기사실기요약
- 클레이튼
- ERC-721
- 2021정보처리기사실기
- 페이지클론
- 카카오홈페이지클론
- blockchain
- ERC721
- github
- Non-Blocking
- 솔리디티
- 콜백함수this
- Today
- Total
목록분류 전체보기 (78)
Be lazy, Be crazy

https://discord.com/developers/applications 디스코드 개발자 페이지에서 app을 하나 만들도록하자 좌측 메뉴 Bot을 클릭하시면 우측에 Add Bot 버튼을 누르시면 위 창이 뜹니다. 여기서 Yes, do it!을 눌러주세요. 토큰값은 1회만 보여준다고하니 꼭 저장하셔서 다른곳에서 보관하시기를 바랍니다. permission해주는 부분으로써 봇에게 어떤 권한을 부여해줄 것인가에 대해서 선택하는 부분입니다. 그리고 밑에서 생서되는 URL에 들어가보면 어떤 서버에서 봇을 사용할것인가에 대해서 적용할 수 있습니다. 밑에 사진과 같이 WATTO라는 봇이 제가 만들어놓은 디스코드 서버에 들어왔습니다. 봇이 이상없이 성공적으로 추가되었다면 서버에 아래 화면처럼 뜰 것입니다. 이제 이..

솔리디티에서 Array는 어떤형식으로 작성되는지 간단하게 알아보는 글이다. ### 내가생각하기에 중요한 점은 어떻게 memory 배열에 크기를 설정하고 값을 담는지가 중요한것 같다. ### 기본적으로 동적으로 배열크기를 만들 수 있고 VS 고정적으로 배열의 크기를 지정할 수있다. ### 다른 언어와 마찬가지로 배열 크기를 설정하고 값을 집어넣는 방식은 어렵지 않다. ### 배열변수이름.push(인자) 다른 언어에서 보는것과 마찬가지로 비슷한 형태 배열변수이름.pop() 맨 마지막 인자가 사라진다. ### 다른 언어와 다르게 delete 라는 함수를 사용할 수 있고 할당되어 있는 값을 0으로 초기화 시킨다. ### 보통배열은 storage에 저장이 되는데 함수안에서 memory형태로 배열을 선언할 수 있다..

💡 솔리디티에서 return은 어떤 형식으로 될까?? FunctionOutputs 말그대로 솔리디티 문법에서 return을 사용할 때 어떻게 return이 되고 어떤 형식으로 되는지 알아봅시다. // 대략적으로 3가지 형식이 있다. // 보통 언어와 비슷하게 function returnOne () public pure returns(uint){return 1;} 이런형식으로 1개를 리턴 // 조금 신기하게 여러개를 return 할 수도 있다. function returnMany() public returns(uint, bool){ return (1, true);} 이와같은형식으로 2개를 리턴 주의할점은 ## returns (타입,타입) 을입력해줌으로써 이함수는 어떤 타입을 return 할 것인지에 대해서..
Constructor개념은 많은 언어들에서 보았던 개념이다. java에서는 객체가 생성될때 제일 먼저하는 일이며 보통 값을 초기화 시켜줄 때 많이 하는 작업으로 알고있다. solidity에서도 마찬가지로 컨트랙트가 만들어질 때 제일 먼저 실행된다고 생각하면 될 것같다. 제일먼저 실행된다 == 초기화시킨다 == 첫 변수에 내가원하는 값으로 셋팅한다. 이정도로 생각하면 코드를 보고 실행할 때 수월 할 것같다. 그렇다면 Ownable란 무엇일까요?? 전글에서 배웠던 modifier개념과 owner변수를 조합해서 onlyOwner라는 modifier 생성하는 것이다. 이렇게 되면 owner = msg.sender 이 의미는 owner는 이 컨트랙트를 배포한 사람이 되는 것이다. 이 onlyOwner를 함수에 붙..
modifier함수를 사용하는 이유는 무엇일까? 일단 자주 사용하는 조건문에대한 반복을 막을 수 있다. A,B,C 함수에 x=10이면 함수사용을 거부한다라는 조건을 각각에 넣기 보다는 x=10이면 거부해주는 함수 하나를 만들어서 재사용하는 것이 훨씬 좋다고 생각이 든다. 밑에 코드를 참조하면 더 쉽게 이해가 가겠지만, 1. Basic은 modifier을 만들고 사용되어야하는 함수부분에 추가해주는것이다. 이때 인자값이 필요가없는 경우다. 2. input은 위 1번과 같은경우지만 modifier에 인자가들어가야 하는 부분이다. function incBy(uint _x) external whenNotPause cap(_x) modifier을 연달아 사용가능하며 필요하다면 인자값도 전달해줄 수 있다. 3. sa..
딥다이브 조사 회의시간에 나온 자료들을 취합한 결과 NFT를 스왑해주는 swap.kiwi product조사 개인 주소를 가지고 대화할 수 있는 blockscan chat 조사 metamask profile picture변경부분에대한 조사 ropsten network ENS 생성 (ovadix.eth) 및 avatar설정부분 확인 https://medium.com/the-ethereum-name-service/step-by-step-guide-to-setting-an-nft-as-your-ens-profile-avatar-3562d39567fc https://github.com/ensdomains/ens-avatar(코드확인) 1. swap.kiwi product - 컨트랙트 분석 및 정리 완료 2. bl..
솔리디티에서 error을 작성할 수 있는 몇가지에 대해서 코드로 봐보자! 여기서 나도 처음 보았던 것은 error를 커스텀 할 수 있다는것이다. error MyError(address caller, uint value); 이런식으로 말이다. 자세한 내용은 밑에 코드를 보고 remix에서 실행시켜보면 이해가 될 것이다. // SPDX-License-Identifier: MIT pragma solidity ^0.8.7; //require, revert, assert // gas refund, state updates are reverted // custom error - save gas contract Error { function testRequire(uint _i) public pure{ require(..
간단하게 솔리디티언어로 반복문을 작성해보았습니다. js나 파이썬 등에서는 100만번을 돌려도 상관없지만. 솔리디티는 가스비가 나가기 때문에 최대한 불피요한 반복을 줄여서 가스비 절감합시다~~ continue는 i 값이 3일때 코드실행안하고 i=4로 바로 넘어가게 됩니다. break는 i=5일때 반복문을 끝낸다는 말입니다. // SPDX-License-Identifier: MIT pragma solidity ^0.8.7; contract ForAndWhileLoops { function loops() external pure { for(uint i=0; i< 10; i++){ if( i == 3){ continue; } if( i == 5 ){ break; } } uint j = 0; while (j < ..
솔리티디에서 ifElse와 삼항연산자를 사용하는 방법에 대한 코드를 작성 // SPDX-License-Identifier: MIT pragma solidity ^0.8.7; contract IfElse { function example(uint _x) external pure returns (uint){ if(_x < 10){ return 1; }else if(_x

트릴레마 그리스어로 숫자 3을 의미하는 'Tri'와 명제를 의미하는 단어 'Lemma'가 합쳐져 만들어진 단어입니다. 3가지의 문제가 각각 서로 영향을 주어, 3가지 중 어느 것을 선택하면 다른 부분이 악화된다는 의미를 가지고 있습니다. 블록체인 트릴레마는 확장성, 탈중앙화, 보안이라는 세 가지 요소를 모두 만족하는 일이 얼마나 어려운지를 말합니다. 확장성(scalability) : 사용자 수가 늘어나더라도, 유연하게 대응할 수 있는 정도를 나타냅ㅂ니다. 확장성이 높으면 사용자수의 증가에 따라 거래건수가 늘어나더라도, 무리없이 전송 처리용량을 증가시킬 수 있습니다. TPS가 높다고도 표현합니다. 탈중앙화(decentralization) : 중앙집권화를 벗어나 분산된 소규모 단위가 모여, 자율적으로 운영되..