목록블록체인 (6)
99.10.11
보호되어 있는 글입니다.
기본적으로 function func_name() public { } 형태 1. 접근제어자 public, private, internal, external 이 네가지중 하나를 사용 public : 모든 곳에서 접근 가능 external : 퍼블릭처럼 모든 곳에서 접근가능하나, external이 정의된 자기자신 컨트랙트 내에서 접근 불가 private : 오직 private이 정의된 자기 컨트랙트에서만 가능(상속받은 자식도 안됨 오직 자기만) internal : private처럼 오직 internal이 정의된 자기 컨트랙트 내에서만 가능하고, internal 이 정의된 컨트랙트를 상속받은 자식에서는 접근 가능 2. view와 pure view: function 밖의 변수들을 읽을 수 있으나 변경은 불가능 (..
1 ether = 10^9 Gwei = 10^18 wei 즉, 1 wei = 10^(-18) ether Gwei 는 Gas 의 단위이다. Gas란 스마트 컨트랙트를 사용하는 비용 또한, 보안적인 측면에서는 DDoS 공격을 방지하는 기능을 한다. 해커가 악의적인 스마트 컨트랙트를 작성하여 대량의 분산 트래픽을 보내 블록체인 네트워크를 마비시키려고 할 때 이 gas 가 걸려있으면 비용을 지불해야 하기 때문에!!
솔리디티는 크게 세가지로 나뉘는데, 1_ Data Type 2_ Reference Type 3_ Mapping Type 그중에서 1_ Data Type에 대한 포스팅이다. Data Type의 구성: boolean,bytes, address, int, uint (밑줄 친 이유는 다른 언어에는 없는 개념이라서) boolean, bytes 다른 언어에서의 불린타입과 동일하게 쓰이므로 패스 참고로 byte는 1바이트부터 32바이트까지 저장할 수 있다. 4바이트만 저장하고 싶다면 -? 4로 직접 명시할 수 있다. bytes4 public bt = 0x12345678 // 바이트 수 명시 bytes public bt2 = "STRING" // 솔리디티에서 자동으로 바이트 계산 후 저장 address 은행의 계좌번호..

1. 가장 먼저, 상단에 라이선스를 적어야 에러가 나지 않는다. 컴파일 버전을 명시하고 Hello 라는 이름의 컨트랙트 작성 솔리디티에는 print 함수가 없기 때문에, 주로 로그를 사용한다. 여기서는 변수에 넣어 주었다. 주의!! - 라이선스 각 단어의 첫 글자는 모두 대문자로 써야한다. 안 그러면 오류,, - 모든 문장 끝에는 세미콜론 필수 - 처음에 공부용으로 주석(//)을 썼는데, 그거 때문에 컴파일 오류가 났었다 2. 컴파일 현재 최신 버전인 0.8.7로 컴파일 하였다. 3. 배포 주황색 디플로이 버튼을 누르면 아래 배포된 컨트랙트 목록에 내가 만든 Hello라는 스마트컨트랙트가 배포된것을 확인할 수 있다. 이 때 이더리움 세션에서 배워서 낯익은 gas limit 이 보여서 신기했다!!ㅎㅎ