일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 스마트컨트렉트테스트
- ethers websocket
- 오블완
- 티스토리챌린지
- rust 기초
- 체인의정석
- 스마트컨트렉트프록시
- ethers v6
- ethers type
- 컨트렉트 동일한 함수이름 호출
- 스마트컨트렉트 함수이름 중복 호출
- Vue
- chainlink 설명
- 러스트기초
- SBT표준
- 러스트 기초
- 스마트 컨트렉트 함수이름 중복
- multicall
- ethers typescript
- 러스트 기초 학습
- 머신러닝기초
- nest.js설명
- git rebase
- 컨트렉트 배포 자동화
- 스마트컨트렉트 예약어 함수이름 중복
- Vue.js
- 프록시배포구조
- ambiguous function description
- vue기초
- ethers
Archives
- Today
- Total
체인의정석
스마트컨트렉트 주석 달기 및 solidity-docgen 사용하기 본문
728x90
반응형
https://www.npmjs.com/package/solidity-docgen
오픈제플린에서 만들었으며, 주석을 잘 달아놓을 시에 문서도 잘 나오는 것을 확인할 수 있었다.
1. 설치
npm i solidity-docgen --save
2. 설정 파일 변경
Hardhat
Include the plugin in your Hardhat configuration.
// hardhat.config.ts
+import 'solidity-docgen';
export default {
+ docgen: { ... }, // if necessary to customize config
};
import만 하면 된다. 밑에는 config 커스터마이징용
3. 라이브러리로서 호출도 가능
As a library
import { docgen } from 'solidity-docgen';
await docgen([{ output: solcOutput }], config);
solcOutput must be the standard JSON output of the compiler, with at least the ast output. There can be more than one.
config is an optional object with the values as specified below.
solcOutput을 넣어주고 파일을 만들어 주는 식으로 사용이 가능하다.
이를 위해서 컨트렉트에 주석을 잘 써주어야하는데 그 방법은
https://www.w3schools.io/blockchain/solidity-comments/
tagsDescriptionused before
@title | Contract class or interface title description | Class and interface |
@author | Author name for contract | Contract class or interface,function |
@notice | Enduser note explains what does it do | Contract class or interface, function |
@dev | developer notes about code what does it do | Contract class or interface, function |
@param | parameters to function | function |
@return | return types of an function | function |
타이틀이나 author는 하나의 컨트렉트 정도에 넣어주면 충분한거 같고
이런식으로 각 파라미터의 값들, 리턴 값들, 개발자를 위한 노트 정도를 각 함수별로 넣어주면 좋다.
주의사항은 notice로 넣어주면 좋다.
해당 라이브러리는 오픈 제플린에서 만든 라이브러리 이므로 주석 스타일링은 오픈제플린 예시 코드를 보고 똑같이 해주면 된다.
728x90
반응형
'블록체인 > Solidity' 카테고리의 다른 글
스마트 컨트렉트 "Error: types/values length mismatch" (0) | 2023.02.28 |
---|---|
Contract `` has a constructor Define an initializer instead (0) | 2023.02.28 |
Openzepplin - Address 라이브러리 분석 (0) | 2022.10.27 |
payable 사용시 발생하는 에러 ParserError: Expected primary expression. (0) | 2022.08.11 |
Solidity) 스마트컨트렉트에서 이더리움을 보내는 방법 (0) | 2022.08.10 |
Comments