Hardhat-deploy: 'hardhat-deploy'๋Š” 'solidity-coverage'์™€ ํ•จ๊ป˜ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2021๋…„ 06์›” 22์ผ  ยท  14์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: wighawag/hardhat-deploy

์žฌํ˜„ํ•˜๋ ค๋ฉด:

  1. ๋ณต์ œ https://github.com/wighawag/template-ethereum-contracts
  2. yarn
  3. yarn coverage

๊ทธ๋ฆฌ๊ณ  ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

image

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

@GeekBerry ๋‹น์‹ ์ด ์ฝ”๋“œ wighawag ๋ณด๋ฉด, ๋‹น์‹ ์€ ์ดํ•ดํ•˜๋Š” ์ง€์  : https://github.com/sc-forks/solidity-coverage/blob/3c0f3a5c7db26e82974873bbf61cf462072a7c6d/plugins/resources/nomiclabs.utils.js#L136 -L141

node_modules/solidity-coverage/plugins/resources/nomiclabs.utils.js ํ•ดํ‚นํ•˜๊ณ  136ํ–‰์„ ๋‹ค์Œ์œผ๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.

env.network = Object.assign({
    name: networkName,
    config: networkConfig,
    provider: provider,
    isHardhatEVM: isHardhatEVM,
}, env.network);

๊ทธ๋Ÿฐ ๋‹ค์Œ ์ ์šฉ ๋ฒ”์œ„๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

solidity-coverage ์ž‘์„ฑ์ž๊ฐ€ ๋‹ค์Œ ๋ฒ„์ „์—์„œ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  14 ๋Œ“๊ธ€

+1

@wighawag ์ œ ๋ฌธ์ œ์ธ๊ฐ€์š”? ์•„๋‹ˆ๋ฉด hardhat-deploy์˜ ๋ฌธ์ œ์ž…๋‹ˆ๊นŒ?

๋‚˜๋ฅผ ์œ„ํ•ด ๋™์ผํ•˜๊ฒŒ ์‹คํ–‰ :
โ”œโ”€ @nomiclabs/ [email protected]
โ”œโ”€ @nomiclabs/ [email protected]
โ”œโ”€ [email protected]
โ”œโ”€ [email protected]
โ”œโ”€ [email protected]

+1

์ด๊ฒƒ์€ 0.8.x ์— ๋„์ž…๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. 0.7.11 ์‚ฌ์šฉํ•˜๋ฉด ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค.

์‹ ๊ณ ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๋‹ต๋ณ€์ด ๋Šฆ์–ด ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ์ €๋Š” ํ˜„์žฌ ๊ฐ€์กฑ๊ณผ ํ•จ๊ป˜ ์—ฌํ–‰์„ ํ•˜๊ณ  ์žˆ์–ด ๋…ธํŠธ๋ถ์„ ์‚ฌ์šฉํ•  ์‹œ๊ฐ„์ด ๋งŽ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์˜ค๋Š˜ ๋น„๋ก ๋ชจ์–‘์ด ์žˆ๊ณ  ๋ฌธ์ œ๊ฐ€ ๊ฒฌ๊ณ -๋ฒ”์œ„๊ฐ€ ์—ฌ๊ธฐ์— ์ƒˆ๋กœ์šด ๋„คํŠธ์›Œํฌ ๊ฐœ์ฒด๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค : https://github.com/sc-forks/solidity-coverage/blob/3c0f3a5c7db26e82974873bbf61cf462072a7c6d/plugins/resources/nomiclabs.utils.js #L136 -L141 ๋‹ค๋ฅธ ํ”Œ๋Ÿฌ๊ทธ์ธ์—์„œ ์ˆ˜์ •ํ•œ ์‚ฌํ•ญ์„ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค.

hardhat-deploy/solidity-coverage ํ˜ธํ™˜์„ฑ์€ ๊ฐ™์€ ์ด์œ ๋กœ ๊ณผ๊ฑฐ์— ๋น„์Šทํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๊ณ (https://github.com/sc-forks/solidity-coverage/issues/624 ์ฐธ์กฐ) hardhat-deploy๋Š” ์ด์— ๋Œ€ํ•œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ๋‹น์‹œ์—๋Š” ์ตœ์‹  hardhat-deploy ๋ฒ„์ „์ด ๋„คํŠธ์›Œํฌ ๊ฐœ์ฒด์— ํ•„๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ธฐ๋Šฅ์— ์˜์กดํ•˜๋ฏ€๋กœ ํ”Œ๋Ÿฌ๊ทธ์ธ ๊ฐ€์ ธ์˜ค๊ธฐ ์‹œ ๋„คํŠธ์›Œํฌ ๊ฐœ์ฒด์— ์•ก์„ธ์Šคํ•˜๋Š” ๋ฐ์—๋„ ์˜์กดํ•˜๋ฏ€๋กœ ์ˆ˜์ • ์‚ฌํ•ญ์€ ๋‚ด ์˜๊ฒฌ์œผ๋กœ๋Š” solidity-coverage์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ ๊ฐœ์ฒด๋ฅผ ๋งŒ๋“œ๋Š” ๋Œ€์‹  solidity-coverage๋Š” ๊ธฐ์กด hre.network ๋ฅผ ์ˆ˜์ •ํ•˜์—ฌ ๋‹ค๋ฅธ ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ ๋‹ค๋ฅธ ์ถ”๊ฐ€ ์‚ฌํ•ญ์„ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ผ์ธ์˜ ๋Œ€์ฒด https://github.com/sc-forks/solidity-coverage/blob/3c0f3a5c7db26e82974873bbf61cf462072a7c6d/plugins/resources/nomiclabs.utils.js#L136 -L141

์ด๋“ค์—๊ฒŒ:

env.network.name = networkName;
env.network.config = networkConfig;
env.network.provider = provider;
env.network.isHardhatEVM = isHardhatEVM;

ํ•ด๋ด์•ผ์ง€

@cgeweck์— ๋Œ€ํ•ด ์–ด๋–ป๊ฒŒ ์ƒ๊ฐ

ํ•˜์ง€๋งŒ env ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

@wighawag ์กฐ์‚ฌ์— ์‹œ๊ฐ„์„

@cgeweck ์ด ๊ณง solidity-coverage๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค...

env.network.name = networkName;
env.network.config = networkConfig;
env.network.provider = provider;
env.network.isHardhatEVM = isHardhatEVM;

ํ•ด๋ด์•ผ์ง€

ํ…Œ์ŠคํŠธํ•˜๊ณ  ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

env.network.name = networkName;
env.network.config = networkConfig;
env.network.provider = provider;
env.network.isHardhatEVM = isHardhatEVM;

ํ•ด๋ด์•ผ์ง€

ํ…Œ์ŠคํŠธํ•˜๊ณ  ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

em~ ๊ทผ๋ฐ env ? process.env ๋˜๋Š” require('hardhat').network.isHardhatEVM ?

@GeekBerry ๋‹น์‹ ์ด ์ฝ”๋“œ wighawag ๋ณด๋ฉด, ๋‹น์‹ ์€ ์ดํ•ดํ•˜๋Š” ์ง€์  : https://github.com/sc-forks/solidity-coverage/blob/3c0f3a5c7db26e82974873bbf61cf462072a7c6d/plugins/resources/nomiclabs.utils.js#L136 -L141

@GeekBerry ๋‹น์‹ ์ด ์ฝ”๋“œ wighawag ๋ณด๋ฉด, ๋‹น์‹ ์€ ์ดํ•ดํ•˜๋Š” ์ง€์  : https://github.com/sc-forks/solidity-coverage/blob/3c0f3a5c7db26e82974873bbf61cf462072a7c6d/plugins/resources/nomiclabs.utils.js#L136 -L141

node_modules/solidity-coverage/plugins/resources/nomiclabs.utils.js ํ•ดํ‚นํ•˜๊ณ  136ํ–‰์„ ๋‹ค์Œ์œผ๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.

env.network = Object.assign({
    name: networkName,
    config: networkConfig,
    provider: provider,
    isHardhatEVM: isHardhatEVM,
}, env.network);

๊ทธ๋Ÿฐ ๋‹ค์Œ ์ ์šฉ ๋ฒ”์œ„๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

solidity-coverage ์ž‘์„ฑ์ž๊ฐ€ ๋‹ค์Œ ๋ฒ„์ „์—์„œ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

+1

์•ˆ๋…•ํ•˜์„ธ์š”, ๋ฌธ์ œ๋Š” ๊ฒฌ๊ณ ์„ฑ ๋ฒ”์œ„ ์ธก๋ฉด์— ์žˆ์Šต๋‹ˆ๋‹ค. hardhat-deploy๊ฐ€ ๋งŽ์€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ๋ฌธ์ œ๋ฅผ ์ข…๋ฃŒํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
๋‚ด ํ…œํ”Œ๋ฆฟ์—์„œ patch-package solidity-coverage๋ฅผ ํŒจ์น˜ํ•˜๊ณ  ์ž‘๋™ํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. https://github.com/wighawag/template-ethereum-contracts/blob/main/patches/solidity-coverage%2B0 ์ฐธ์กฐ .7.16.ํŒจ์น˜

solidity-coverage์—์„œ ์ˆ˜์ •ํ•˜๋Š” ์ด PR์ด ์žˆ์Šต๋‹ˆ๋‹ค. https://github.com/sc-forks/solidity-coverage/pull/647

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰