일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- frontend
- Klaytn API Service
- web3
- geth구현
- Geth
- 앵커링
- API
- 블록체인
- javascript
- 프레임워크
- ethereum
- Klaytn
- 클레이튼
- 웹
- 블록체인 구조와 이론
- 제어자
- SCN
- web3.js
- 서비스체인
- 프론트엔드
- kas
- 접근제어자
- Solidity
- vue.js
- Web
- nodejs
- vue
- 이더리움
- 솔리디티
- blockchain
- Today
- Total
목록전체 글 (48)
BloCCat
1. 매핑 기본적으로 키-값(key-value) 저장소로 데이터를 저장하고 검색하는 데 이용 // 금융 앱용으로, 유저의 계좌 잔액을 보유하는 uint를 저장한다: mapping (address => uint) public accountBalance; // 혹은 userID로 유저 이름을 저장/검색하는 데 매핑을 쓸 수도 있다 mapping (uint => string) userIdToName; 2. msg.sender : 함수를 호출한 eoa(계정주소) 혹은 ca(컨트랙트 주소) mapping (address => uint) favoriteNumber; function setMyNumber(uint _myNumber) public { // `msg.sender`에 대해 `_myNumber`가 저장되도록..
1. 함수 선언 function eatHamburgers(string _name, uint _amount) { } parameter명은 _를 붙이는 것이 관습 2. public / private solidity에서 함수는 기본적으로 public으로 선언됨. 다만 함수는 기본적으로 private로 선언하고 공개할 수 있는 함수만 public으로 선언할 것. uint[] numbers; function _addToArray(uint _number) private { numbers.push(_number); } 3. 함수의 반환값 타입 지정 string greeting = "What's up dog"; function sayHello() public returns (string) { return greetin..
1. license & version 설정 // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.7.0 uint8, uint16,uint32 과 같이 비트제한 가능, 제한 없으면 256비트 int : 정수형 -> int와 마찬가지로 비트제한이 가능하며 없으면 256비트 bool : 논리 자료형 string : UTF-8 인코딩 문자열 bytes : 바이트 address : 이더리움 주소 값 (0xaDc7192A0…) 4.수학 연산 다른 언어와 마찬가지로 기본 연산에 지수 연산까지 지원 uint x = 5 ** 2; // = 5^2 = 25 5.구조체와 배열 struct Person { uint age; string name; } // 2개의 원소를 담을 수 ..
solidity = contract 기반 language 여기서 말하는 contract란 블록체인 네트워크에서 쓰이는 smart contract를 말하는 것. *Smart Contract : 계약의 이행을 자동으로 해주는 코드 ex) 어떤 물건을 코인을 받고 보내주기로 했을 때 물건을 받고 물건 받은 사람이 '받았음' 버튼을 누르면 물건을 판 사람한테 코인이 가게끔 하는 방식. 솔리디티는 쉽게 말하면 '스마트 컨트랙트'라는 계약서를 만드는 랭기지라고 할 수 있다. 이더리움 버추얼 머신(Ethereum Virtual Machine)에서 작동하게끔 디자인된 언어라고 한다.
1. main.js 에서 router와 App.vue 를 사용한다는 것을 인지 2.App.vue 에서 태그를 읽고 라우팅을함 * 화면에 보이는것은 App.vue 이며 Header 부분은 변하지않은 고정(메뉴바 등등) 화면을 뜻하며 밑에 태그 부분만 url에 따라 변하는것 3. 태그를 읽으면 router.js를 호출하여 읽음 routes: 부분에 선언된 path에 따라 App.vue 의 태그 부분이 바뀌는 것.
1. components / layout / Header.vue 생성 2.bootstrap 사용 npm install vue bootstrap-vue bootstrap 3.main.js 수정 import Vue from 'vue' import App from './App.vue' import router from './router' import { BootstrapVue, IconsPlugin } from 'bootstrap-vue' // Import Bootstrap an BootstrapVue CSS files (order is important) import 'bootstrap/dist/css/bootstrap.css' import 'bootstrap-vue/dist/bootstrap-vue.css..
1. vue cli 설치 npm install -g @vue/cli 2. project 구조 자동 설정 vue create 프로젝트명 -> default로 설치 3. vue-router 설치 npm install vue-router --save
Vue.js : 컴포넌트 기반 spa를 구축할 수 있게 해주는 프레임워크 컴포넌트 - 웹을 구성하는 로고, 메뉴바, 버튼 등 웹 페이지 내의 다양한 UI 요소 - 재사용 가능하도록 구조화 한 것. SPA - 단일 페이지 어플리케이션 - 하나의 페이지 안에서 필요한 영역 부분만 로딩 되는 형태 - 빠른 페이지 변환 - 적은 트래픽 양 - 단점 : 초기 로딩 속도가 느림 (모든 파일을 한번에 가져오기 때문)
BFT ( 비잔티움 결함 허용) - 참여 노드수를 제한하여 높은 성능과 효율성을 달성 - 그러나 노드수를 제한하기 때문에 분산화를 약화시키고 투명성을 저하시킨다. IBFT (이스탄불 비잔티움 결함 허용) 클레이튼은 기존 BFT의 장점을 살려 public 블록체인의 장점과 결합할 수 있다는 믿음을 토대로 IBFT 알고리즘 채택. 합의를 달성하는 소수의 private 노드와 밖에서 블록 생성 결과 접근 및 검증을 하는 노드로 구성 => 공개를 통한 개인적인 합의 신뢰 모델
Finality : 변경 불가능한 최종적인 상태, 트랜잭션이 변경 불가라는 합리적인 보장을 받기까지 기다려야 하는 시간 블록이 Final하다는건 블록에 담긴 트랜잭션(거래)가 바뀔 수 없다는 걸 보증하는 것. 하지만 현재 비트코인과 이더리움의 마이닝 메커니즘은 최종성이 부족하다. 이 네트워크들에서 발생하는 트랜잭션은 바로 처리가 되지 않는다. 다만 처리가 될 것이다 라는 확률론적 최종성만 제공. 블록체인 블록 채굴 평균시간 Finality까지의 평균 시간 비트코인 10분 60분(6번의 검증) 이더리움 15초 6분(25번의 검증)