일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- chainlink 설명
- multicall
- 컨트렉트 배포 자동화
- ambiguous function description
- Vue.js
- ethers type
- 오블완
- 스마트컨트렉트 예약어 함수이름 중복
- 스마트컨트렉트 함수이름 중복 호출
- Vue
- ethers typescript
- 티스토리챌린지
- ethers
- nest.js설명
- vue기초
- 스마트컨트렉트테스트
- ethers websocket
- 러스트 기초 학습
- 머신러닝기초
- SBT표준
- git rebase
- 스마트컨트렉트프록시
- 컨트렉트 동일한 함수이름 호출
- 러스트 기초
- 러스트기초
- 프록시배포구조
- 스마트 컨트렉트 함수이름 중복
- rust 기초
- ethers v6
- 체인의정석
Archives
- Today
- Total
체인의정석
Solidity 0.5.0 version) 오류 해결 NomicLabsHardhatPluginError: You are trying to create a contract factory for the contract, which is abstract and can't be deployed. 본문
블록체인/Solidity
Solidity 0.5.0 version) 오류 해결 NomicLabsHardhatPluginError: You are trying to create a contract factory for the contract, which is abstract and can't be deployed.
체인의정석 2022. 1. 27. 14:26728x90
반응형
다음과 같이 오류가 나서 한참을 해메었다.
해당 글을 보니 이는 상속받은 컨트렉트에 대한 생성자를 다 넣지 않는것과 같이 상속등을 잘 해결하지 않으면 컴파일러가 추상화된 컨트렉트로 여기는 증상이였다.
여기서 힌트를 얻어 상속받은 인터페이스를 보니 관리자 권한으로 실행이 되도록 만든 퍼블릭 함수가 인터페이스로 되어 있는 것을 볼 수 있었다. 인터페이스에서는 가져와서 바꾸고 회부에서 호출할 함수만 선택하여 남기도록 하였다.
이전에 퍼블릭 함수를 인터페이스에서 정의한 적이 있었는데. 인터페이스에서는 다른곳에서 상속에서 덮어쓸 함수 또는 다른곳에서 import해와서 조회 할 수 있는 view 계열의 함수만 있으면 된다. 이런식으로 인터페이스에서 필요한 항목들만 넣어야 하며 관리자 권한을 내부적으로 사용하고 관리자 개인 권한으로 사용할 경우 public 이더라도 인터페이스에는 추가하지 않는것이 좋은것 같다.
728x90
반응형
'블록체인 > Solidity' 카테고리의 다른 글
Comments