전체 글
Solidity : 가시성 지정자
시작하며 지난 글에서 간단하게 솔리디티에서 제공하는 자료형에 대해서 알아보았다. 이번에는 가시성 지정자에 대해서 알아보자. 가시성 지정자 public : 내부, 외부에서 접근 가능 external : 외부 접근만 가능(함수에 사용, 변수에 적용불가, 예외적으로 this를 사용해 접근 가능) private : 내부 접근 가능 internal : 내부 접근만 가능하나, 상속을 받은 경우는 가능(private의 확장형, 아무 지정자도 정하지 않은 경우 기본 internal) 위 remix상에서 해당 컨트랙트를 deploy 했을 때, 왼쪽 하단을 보면 외부에서 public으로 선언한 a에만 접근 가능한 것을 확인할 수 있다. 함수도 마찬가지이며, 변수는 public으로 저장했을 때, 자동으로 getter함수가 ..
Solidity 자료형에 대해서 알아보자
시작하며 이전 글에서 간단하게 솔리디티 코드가 어떻게 작성되는지를 확인해보았고 이번 글부터 자료형부터 차근차근 나가보려한다. 문법스타일은 c, c++, javascript와 비슷한데 조금 특이한 자료형들도 있어서 한번 알아보자. 자료형에 대해 // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.7.0 string) public name; // mapping(python에서 딕셔너리와 같음) } 위에 value 타입과 reference 타입을 분리해서 자료형들을 적어놨다. 주석에 다 적어놨지만 몇가지만 더 말하면 1. address는 지갑 주소를 담는 20바이트 크기의 자료형이다. 이 변수에 송금자나 수신자의 지갑 주소를 넣어서 사용할 수 있다. 2. byt..
Solidity에 대해 간단한 코드로 알아보기(GPL과 MIT)
시작하며 지난 글에서 솔리디티란 무엇이고 스마트컨트랙트가 무엇인지 간단하게 알아보았다. 그렇다면 오늘은 솔리디티로 코딩을 직접해보면서 어떤 특징이 있는지 간단하게 알아보자. 일단 코드부터 // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.7.0 string) public name; function addName(address key, string memory value) public{ name[key] = value; } function getName(address key) public view returns(string memory){ return name[key]; } function deleteName(address key) public{ delet..
간단하게 알아보는 Solidity와 Smart Contract
이번 글은 다른 참고자료를 보지 않고 알고있는 내용을 주저리주저리 쓰기 때문에 조금 잘못된 내용이 있을 수도 있습니다. Solidity는 이더리움 상에서 스마트 컨트랙트를 만들기 위해 사용하는 언어라고 알고 있으면 된다. 그렇다면 스마트 컨트랙트가 뭔지 간단하게 알아보자. Smart Contract 스마트 컨트랙트는 계약서에 써있는 내용을 코드적으로 수행한다고 보면된다. 무슨 말이냐면, 간단하게 A와 B와 C가 D에게 생일 선물로 각각 10,000원씩 모아서 준다고 가정해보자. 스마트컨트랙트는 조건이 충족되면 수행되는 코드이기 때문에 코드로 "if A,B,C 모두 만원씩 넣었으면 -> D에게 3만원 전송" 과 같이 특정 조건이 달성되면 자동으로 수행된다. 그렇다면 이러한 것을 왜 코드로써 구현해야할까? ..
Django를 이용해 구현한 Wargame 사이트
이번에 친구들과 워게임사이트를 만들게 되었습니다. Django를 이용해 만들었고, 프론트엔드 1, 백엔드3에서 저는 User와 관련해 백엔드 역할을 맡았습니다. link : https://w4rehouse.xyz Wargame Don't have an account? Sign Up w4rehouse.xyz 위 사이트에서 저희가 직접 출제하는 해킹 문제를 풀어보실 수 있습니다. 관련해서 노션에 적어놓은 글입니다. https://www.notion.so/Warehouse-a58ba0a6f0a94adca1eb9f5388f446d6?pvs=4 Warehouse 🔗 https://w4rehouse.xyz/ www.notion.so 아래는 user관련해서 참고한 자료들 입니다. 소스코드는 실제 학생들이 가입하고 이..
Crypto Project : Epilogue
시작하며 드디어 길고 긴 I_CRYPTO 프로젝트에 대한 블로그 작성이 끝이 났다. 이 프로젝트는 나에게 꽤나 많은 의미가 있는데, 먼저 남들에게 보여줄만한 그럴싸한 프로젝트를 해냈다는 것이다. 사실 C언어, C++, Python을 학교에서 나름 잘 다루는 쪽에 속했으나, 항상 학교 공부만 했던 탓에 프로젝트 경험 같은 것들이 부족했다. 이제 대학원 또는 취직을 준비해야 하는 4학년이 된 시점에 바보같이 너무 학점 따는 것만 중요하게 생각했던 것 같다. 친구들이야 내가 코딩을 어느정도 하는지 잘 알겠지만 이제 취직 또는 대학원을 준비하는 시점에서 너무 안일하게 공부를 해왔다는 것을 이제서야 깨달았다. 포트폴리오가 없다는 것은 큰 불안감으로 다가왔고 코딩만 할 줄 알지 프로젝트 경험이 없는 나로써는 보안 ..