(대학생이 공부하면서 작성한 거라 잘못된 부분이 있을 수 있습니다..!)
오늘은.. 파트쓰리 두번째날! 역시 민서강사님 입담덕분에 졸지 않고 수업을 들을...수 있을 줄 알았는데 역시 점심 먹고 나니까 너무너무 졸리고 눈이 감겼다.
밤에 잠을 잘 자고 수업을 들어야하는데...
노는 게 너무 좋은 걸ㅎㅎ
암튼 오늘의 TIL 시작!!🔥🔥🔥
수업 들으면서 작성한 거라 놓친 부분도 있고,, 맥락이 없을수도 있고,, 빠진 부분도 있고 잘못된 부분도 있을거에요....
정보 전달, 네트워크 동기화의 지연 시간(latency)을 최소화 하기 위한 방법
혼자 검증을 못해서 풀노드에게 검증 요청 해야됨
그래서 머클루트를 배워야해용
거래가 있는지 없는지에 대한 검증을 해야됨
머클루트의 이진트리를 형성하는 방법에 대해서 배운대용
머클은 사람 이름..이에요....
머클이 이 개념을 만들어서 머클트리 임 ㅋ.ㅋ...ㅋ.....
자식이 둘이면 이진트리
2의 제곱수를 만들기 위해 만든 복사된정보들은 바디에 내용이 없음
따라서 정보가 위로 올라갈 게 없는것.
책임회피.
풀노드는 책임질필요 없음 / 책임과 권한이 동등하니까
블록체인에 미쳐있는 사람들이 항상 하는 고민
권한을 누구 주면 안되는데? > 탈중앙화가 깨지니까 > 근데 너무 비효율적..
블룸필터 패스
** 시험에 나옴 진짜 중요 시험에 무조건 나와요
D 를 알려면 반대편을 알아야함
c, ab, efgh
{10개}
{11개}
참고하면 좋을 링크
https://github.com/bitcoin/bitcoin/tree/master/src
https://github.com/bitcoin/bitcoin/blob/master/src/chainparams.cpp
https://github.com/bitcoin/bitcoin/blob/master/src/chainparamsseeds.h
여기서는 전역변수가 따로 있어서
상태변수 라고 함 / number : 상태변수, num : 지역변수
value
초록 체크 : 돈 내는거
vm call : 돈 안내는거 . 그냥 불러오기만 하면 됨
setAasFive : A의 값을 변경해주는 함수이기 때문에 초록체크표시
변수 a와 b를 각각 숫자로 선언해줌
function setA(uint _a) public {}
function setAasFive() public {
a=5;
}
function getB() public view returns(uint) {
return b;
}
function setB(uint _b) public {}
function setBasSeven() public {
b=7;
}
view랑 pure는 가스비를 둘다 안쓰는 함수
pure: 상태변수 값을 참조할 수 없어.. 지역변수만 있으니까 pure를 써도 됨
input 값은 있으나, 상태변수가 전혀 쓰이지 않는 경우에 pure가 쓰임
view: 상태변수 값을 변경하는것은 불가 가스써야되니까
가스비를 안쓰는 pure를 써서 만든 계산기
contract Basic2 {
// 2개의 input 값을 받아 더한 값을 반환하는 함수 Add, 곱한 값을 반환하는 함수 Mul을 구현하세요
function Add(uint _a, uint _b) public pure returns(uint) {
return _a+_b;
}
function Mul(uint _a, uint _b) public pure returns(uint) {
return _a*_b;
}
function Sub(uint _a, uint _b) public pure returns(uint) {
return _a-_b;
}
function Div(uint _a, uint _b) public pure returns(uint, uint) {
return (_a/_b, _a%_b);
}
}
민서 강사님의 Today's 꿀팁!🍯🍯
자기 객관화를 해라
주기적으로!
TIL을 쓰든 이력서를 쓰든 자기 객관화를 주기적으로 해야한다.!
그래서 TIL과 깃허브를 열심히 업로드하기로 했다.
마음 먹었다구.