[개발]Solidity Openzeppelin Library 사용한 경우 Verify Contract 통과하기 by happyberrysboy

View this thread on steempeak.com
· @happyberrysboy ·
$56.17
[개발]Solidity Openzeppelin Library 사용한 경우 Verify Contract 통과하기
오늘은 오래간만에 개발 이야기 입니다.!! 독거형님 죄송!! 패쓰!!

메모성 자료로 남겨봅니다.
___

Solidity를 Mainnet이나 Testnet에 배포를 하면, 해당 Net에 소스 검증기능이 존재합니다.
최초로 Contract를 배포 할때에는 인코딩된 자료만 배포가 되기 때문에 실제로 소스가 어떤지 보여지지 않게되지요.

그래서 Contract 배포자가 배포된 Contract와 동일한 소스라는 것을 검증하기 위해서 Verify Contract 과정을 거치곤 합니다.(가끔 rug를 작정한 contract는 검증을 안하는 경우도 존재합니다.)

하지만 openzeppelin library를 사용하는 경우에는 편의를 위해서 사용된 것이고, 실제 solidity 파일은 이대로 작동되는 것이 아니기 때문에 Verify Contract 과정이 잘 안되는 경우가 있습니다. 

이런 경우 ```truffle-flattener```을 이용해서 Library로 작성된 openzeppelin 파일들을 풀어서 1개의 파일로 만들어 주는 작업을 하면 됩니다.


___


예를 들어... 아래와 같이 solidity 파일내부에 import를 이용하여 소스를 배포한 경우 이대로 migrate를 하게 되면 verify contract가 잘 안된다는 말이지요.

```
pragma solidity ^0.8.0;

import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol";

```

이런 경우 아래와 같은 명령어로 Test.sol의 import 된 파일들을 FlatTest.sol 파일로 변환하면서 모두 풀어서 넣는 작업을 하게 되는 것이지요. 그러면 verify contract가 편해지게 됩니다.(import 부분이 사라지고 모두 FlatTest.sol 파일내에 파일 내용들이 추가됩니다)

```
npx truffle-flattener ./contracts/Test.sol > ./contracts/FlatTest.sol
```

누군가에게 참고되는 자료이길..!!
👍  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , and 53 others
👎  ,
properties (23)
post_id92,060,809
authorhappyberrysboy
permlinkhappyberrysboy-posting-2021-06-17-00-22
categoryhive-101145
json_metadata{"tags":["hive-101145","sct","sct-kr","sct-freeboard","bs","union","zzan","sago","krsuccess"],"app":"steemcoinpan\/0.1"}
created2021-06-19 00:05:33
last_update2021-06-19 00:05:33
depth0
children5
net_rshares122,208,173,762,245
last_payout2021-06-26 00:05:33
cashout_time1969-12-31 23:59:59
total_payout_value29.224 SBD
curator_payout_value26.943 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length1,121
author_reputation3,294,410,987,841,532
root_title"[개발]Solidity Openzeppelin Library 사용한 경우 Verify Contract 통과하기"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (119)
@successgr.with ·
  start success  go! go!  go!
👍  
properties (23)
post_id92,060,928
authorsuccessgr.with
permlinkre-happyberrysboy-posting-2021-06-17-00-22-20210619t001046
categoryhive-101145
json_metadata{}
created2021-06-19 00:10:45
last_update2021-06-19 00:10:45
depth1
children0
net_rshares13,909,443,469
last_payout2021-06-26 00:10:45
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length29
author_reputation260,348,785,186,891
root_title"[개발]Solidity Openzeppelin Library 사용한 경우 Verify Contract 통과하기"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (1)
@fur2002ks ·
ㅋㅋㅋ 이틀연속 죄송인가요? 즐거운 주말 되세요~
properties (22)
post_id92,061,354
authorfur2002ks
permlinkquxaxy
categoryhive-101145
json_metadata{"app":"steemit\/0.2"}
created2021-06-19 00:34:48
last_update2021-06-19 00:34:48
depth1
children0
net_rshares0
last_payout2021-06-26 00:34:48
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length27
author_reputation1,183,949,922,229,304
root_title"[개발]Solidity Openzeppelin Library 사용한 경우 Verify Contract 통과하기"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@goodhello.aaa ·
@peterchung님이 당신을 멘션하였습니다. <br><br>https://www.steemit.com/@peterchung/33-sweet-dreams-community-of-steem-species
properties (22)
post_id92,072,345
authorgoodhello.aaa
permlinkre-happyberrysboy-posting-2021-06-17-00-22-20210619t124823
categoryhive-101145
json_metadata{}
created2021-06-19 12:48:21
last_update2021-06-19 12:48:21
depth1
children0
net_rshares0
last_payout2021-06-26 12:48:21
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length113
author_reputation201,063,544,025
root_title"[개발]Solidity Openzeppelin Library 사용한 경우 Verify Contract 통과하기"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@anpigon ·
truffle-flattener! 좋은팁 감사. ㅎㅎ
properties (22)
post_id92,074,742
authoranpigon
permlinkquyegj
categoryhive-101145
json_metadata{"app":"steemit\/0.2"}
created2021-06-19 14:48:21
last_update2021-06-19 14:48:21
depth1
children0
net_rshares0
last_payout2021-06-26 14:48:21
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length29
author_reputation106,605,049,898,479
root_title"[개발]Solidity Openzeppelin Library 사용한 경우 Verify Contract 통과하기"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@sct.krwp ·
@happyberrysboy transfered 50 KRWP to @krwp.burn. voting percent : 100.00%, voting power : 60.22%, steem power : 1791730.17, STU KRW : 1200. 
@happyberrysboy staking status : 11840 KRWP
                                @happyberrysboy limit for KRWP voting service : 23.68 KRWP (rate : 0.002)
                                What you sent : 50 KRWP (Voting Percent over 100 %)
                                Refund balance : 31.979 KRWP [54775903 - 5b2d858ade4b6f78659b37b7ba67f4257f0baeaa]
properties (22)
post_id92,081,577
authorsct.krwp
permlinkre--happyberrysboy-posting-2021-06-17-00-22-20210619t220056841z
categoryhive-101145
json_metadata{"tags":["hive-101145","sct","sct-kr","sct-freeboard","bs","union","zzan","sago","krsuccess"]}
created2021-06-19 22:00:57
last_update2021-06-19 22:00:57
depth1
children0
net_rshares0
last_payout2021-06-26 22:00:57
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length490
author_reputation10,000,000,000,000
root_title"[개발]Solidity Openzeppelin Library 사용한 경우 Verify Contract 통과하기"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000