Solidity by Example 2

이동창·2021년 5월 20일
0

솔리디티

목록 보기
3/3

Contract that Create other Contracts

일단 실습부터 해보자
Carfactory를 Deploy하고 create을 호출하면 트랜잭션 성공

일단 Car, CarFactory 2개의 컨트랙트로 구성되어있다.

CarFactory 코드 첫 줄에 보면 Car 컨트랙트를 이용해서
cars라는 구조체 배열과 같은 변수를 만들고

create 함수에서 new 키워드를 이용해 인자로 받은 onwermodel을 이용해
constructor를 실행시키는 방식으로 car를 만들고, 이를 carspush한다.

나머지도 비슷한데

질문 : 컨트랙트가 배포될 때 각각의 컨트랙트가 따로 블록에 담겨 배포 되는지,
sol파일 단위로 배포되는 지 궁금하다.
왜냐면, Remix에서 실습해보았을 때, Car컨트랙트를 배포하지 않고도
CarFactory에서 Car 컨트랙트를 이용할 수 있는 것 같아서..



Accessing Private Data

private 데이터 타입은 컨트랙트 외부에서 조회가 불가능하다.
하지만 블록체인에 적히는 정보이기에, slot을 뒤져서 index를 알아내면 조회 가능

그래서 slot에 적히는 방식을 대충 알아보자면 다음 그림과 같다.

0개의 댓글