Bitcoin: IsStandardTx κΈ°λŠ₯에 λŒ€ν•œ λˆ„λ½λœ κ±°λΆ€ 이유λ₯Ό ν™•μΈν•˜λŠ” ν…ŒμŠ€νŠΈ μΆ”κ°€

에 λ§Œλ“  2019λ…„ 11μ›” 06일  Β·  3μ½”λ©˜νŠΈ  Β·  좜처: bitcoin/bitcoin

IsStandardTx ν•¨μˆ˜λŠ” λΉ„ν‘œμ€€ νŠΈλžœμž­μ…˜μ— λŒ€ν•œ μ—¬λŸ¬ 이유λ₯Ό λ°˜ν™˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€. κ·Έ 쀑 μΌλΆ€λŠ” ν˜„μž¬ λ‹¨μœ„ ν…ŒμŠ€νŠΈ test_IsStandard ( transaction_tests.cpp )에 μ˜ν•΄ ν˜„μž¬ ν…ŒμŠ€νŠΈλ˜κ³  있으며, λ‹€λ₯Έ ν•œνŽΈμœΌλ‘œλŠ” κΈ°λŠ₯ ν…ŒμŠ€νŠΈ mempool_accept.py 에 μ˜ν•΄ ν•¨μˆ˜ 호좜의 κ²°κ³Όλ₯Ό 직접 ν™•μΈν•©λ‹ˆλ‹€. testmempoolaccept RPCλ₯Ό μ‚¬μš©ν•˜μ—¬ κ°„μ ‘μ μœΌλ‘œ ν…ŒμŠ€νŠΈν•˜κ³  κ²°κ³Όμ—μ„œ reject-reason ν•„λ“œλ₯Ό ν™•μΈν•©λ‹ˆλ‹€. ν˜„μž¬ λ§ˆμŠ€ν„° 브랜치(7967104aee055476107dc17265cefc4ae4e75378)μ—μ„œ ν…ŒμŠ€νŠΈ μ»€λ²„λ¦¬μ§€λŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

| IsStandardTx() κ±°λΆ€ 이유 | κΈ°λŠ₯ ν…ŒμŠ€νŠΈ( mempool_accept.py ) | λ‹¨μœ„ ν…ŒμŠ€νŠΈ( transaction_tests.cpp ) |
| ------------- |:-------------:|:-----:|
| "version" | :heavy_check_mark: | |
| "tx-size" | :heavy_check_mark: | |
| "scriptsig-size" |
| "scriptsig-not-pushonly" | :heavy_check_mark: | |
| "scriptpubkey" | :heavy_check_mark: | :heavy_check_mark: |
| "bare-multisig" |
| "dust" | :heavy_check_mark: | :heavy_check_mark: |
| "multi-op-return" | :heavy_check_mark: | :heavy_check_mark: |

"scriptsig-size" 및 "bare-multisig" 에 λŒ€ν•΄ λ‹¨μœ„ ν…ŒμŠ€νŠΈ λ˜λŠ” κΈ°λŠ₯ ν…ŒμŠ€νŠΈλ₯Ό 톡해 각 μ΄μœ μ— λŒ€ν•΄ μ΅œμ†Œν•œ ν•˜λ‚˜μ˜ ν…ŒμŠ€νŠΈλ₯Ό κ°–λŠ” 것이 합리적이라고 μƒκ°ν•©λ‹ˆλ‹€. μ§€κΈˆμ²˜λŸΌ ν•„μš”ν•©λ‹ˆλ‹€. 이λ₯Ό κ°μ•ˆν•  λ•Œ λ‹€μŒκ³Ό 같은 7개의 μž‘μ€ μž‘μ—… λͺ©λ‘μ΄ μƒμ„±λ©λ‹ˆλ‹€(λŒ€λž΅ μš°μ„  μˆœμœ„μ— 따라 정렬됨).

  • [x] "scriptsig-size" μ΄μœ μ— λŒ€ν•œ λ‹¨μœ„ ν…ŒμŠ€νŠΈ μΆ”κ°€(PR #17480, 5e8a56348b5e1026e9ddcae0b2fa2a68faf4439e 컀밋, κ²Έμ†ν•œ μžκ°€ μˆ˜ν–‰)
  • [x] "bare-multisig" 에 λŒ€ν•œ λ‹¨μœ„ ν…ŒμŠ€νŠΈ μΆ”κ°€ 이유(PR #17502, 1bb5d517aa616c1d5b5801d2ea36a2de5fb61eba 컀밋, κ²Έμ†ν•œ μžκ°€ μˆ˜ν–‰)
  • [x] "scriptsig-size" 에 λŒ€ν•œ κΈ°λŠ₯ ν…ŒμŠ€νŠΈ μΆ”κ°€ 이유(PR #17532, 컀밋 8f2d7737cc236b6122f30e31856eb3181960fba1, κ²Έμ†ν•œ μžκ°€ μˆ˜ν–‰)
  • [x] "bare-multisig" μ΄μœ μ— λŒ€ν•œ κΈ°λŠ₯ ν…ŒμŠ€νŠΈ μΆ”κ°€(PR #17541, 1be0b1fb2adcf95d76f879195564c0bf84162e31 컀밋, κ²Έμ†ν•œ μžκ°€ μˆ˜ν–‰)
  • [x] "scriptsig-not-pushonly" μ΄μœ μ— λŒ€ν•œ λ‹¨μœ„ ν…ŒμŠ€νŠΈ μΆ”κ°€(PR #17720, 컀밋 5aab011805ceb12801644170700b1a62e0bf4a5d, κ²Έμ†ν•œ μžκ°€ μˆ˜ν–‰)
  • [x] "tx-size" 에 λŒ€ν•œ λ‹¨μœ„ ν…ŒμŠ€νŠΈ μΆ”κ°€ 이유(PR #17947, 컀밋 4537ba5f21ad8afb705325cd8e15dd43877eb28f, κ²Έμ†ν•œ μžκ°€ κΈ°λΆ€)
  • [x] "version" μ΄μœ μ— λŒ€ν•œ λ‹¨μœ„ ν…ŒμŠ€νŠΈ μΆ”κ°€(PR #17555, https://github.com/bitcoin/bitcoin/pull/17555/commits/76303f65f92a0fbe9a90c0e807554a6daa860636 컀밋), d에 μ˜ν•΄ μ™„λ£Œ

이것은 쒋은 "μš°μˆ˜ν•œ 첫 번째 호" 후보가 될 것 κ°™μŠ΅λ‹ˆλ‹€ -- μ €λŠ” 직접 μž‘μ—…ν•˜κ³  μ‹Άμ§€λ§Œ μƒˆλ‘œμš΄ κΈ°μ—¬μžλ₯Ό κ²©λ €ν•˜κΈ° μœ„ν•΄(그리고 "쒋은 첫 번째 호"κ°€ μ§„μž…ν•˜λŠ” 데 μ–Όλ§ˆλ‚˜ 도움이 될 수 μžˆλŠ”μ§€ μ•ŒκΈ°) μ €λŠ” ν•˜μ§€ μ•Šμ„ κ²ƒμž…λ‹ˆλ‹€. μž μ‹œ λ§Œμ§€μ‹­μ‹œμ˜€.

Tests good first issue

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

@dspicher : 관심을 κ°€μ Έμ£Όμ…”μ„œ κΈ°μ©λ‹ˆλ‹€! "bare-multisig" 에 λŒ€ν•œ λ‹¨μœ„ 및 κΈ°λŠ₯ ν…ŒμŠ€νŠΈ λͺ¨λ‘μ— λŒ€ν•œ PR은 μ§€λ‚œ λ©°μΉ  λ™μ•ˆ λ‚΄κ°€ 이미 μ—΄μ—ˆμŠ΅λ‹ˆλ‹€(#17502 및 #17541 μ°Έμ‘° -- λ‘˜ λ‹€ 아직 λ³‘ν•©λ˜μ§€ μ•ŠμŒ), λ”°λΌμ„œ μ§€κΈˆ λ‹€μŒ μ„Έ 가지 ν…ŒμŠ€νŠΈλŠ” μžƒμ–΄λ²„λ¦°:

  • "scriptsig-not-pushonly" μ΄μœ μ— λŒ€ν•œ λ‹¨μœ„ ν…ŒμŠ€νŠΈ
  • "tx-size" μ΄μœ μ— λŒ€ν•œ λ‹¨μœ„ ν…ŒμŠ€νŠΈ
  • "version" μ΄μœ μ— λŒ€ν•œ λ‹¨μœ„ ν…ŒμŠ€νŠΈ

그것듀에 λŒ€ν•΄ 자유둭게 μž‘μ—…ν•˜κ³  μ¦κΈ°μ‹­μ‹œμ˜€! :)

λͺ¨λ“  3 λŒ“κΈ€

이 μž‘μ—…μ„ ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€.

@Stack 이미 "bare-multisig" ν…ŒμŠ€νŠΈλ₯Ό μ‹œμž‘ν•˜μ…¨λ‚˜μš”?

@dspicher : 관심을 κ°€μ Έμ£Όμ…”μ„œ κΈ°μ©λ‹ˆλ‹€! "bare-multisig" 에 λŒ€ν•œ λ‹¨μœ„ 및 κΈ°λŠ₯ ν…ŒμŠ€νŠΈ λͺ¨λ‘μ— λŒ€ν•œ PR은 μ§€λ‚œ λ©°μΉ  λ™μ•ˆ λ‚΄κ°€ 이미 μ—΄μ—ˆμŠ΅λ‹ˆλ‹€(#17502 및 #17541 μ°Έμ‘° -- λ‘˜ λ‹€ 아직 λ³‘ν•©λ˜μ§€ μ•ŠμŒ), λ”°λΌμ„œ μ§€κΈˆ λ‹€μŒ μ„Έ 가지 ν…ŒμŠ€νŠΈλŠ” μžƒμ–΄λ²„λ¦°:

  • "scriptsig-not-pushonly" μ΄μœ μ— λŒ€ν•œ λ‹¨μœ„ ν…ŒμŠ€νŠΈ
  • "tx-size" μ΄μœ μ— λŒ€ν•œ λ‹¨μœ„ ν…ŒμŠ€νŠΈ
  • "version" μ΄μœ μ— λŒ€ν•œ λ‹¨μœ„ ν…ŒμŠ€νŠΈ

그것듀에 λŒ€ν•΄ 자유둭게 μž‘μ—…ν•˜κ³  μ¦κΈ°μ‹­μ‹œμ˜€! :)

λˆ„λ½λœ λͺ¨λ“  λ‹¨μœ„ ν…ŒμŠ€νŠΈ 및 κΈ°λŠ₯ ν…ŒμŠ€νŠΈλŠ” 이제 λ§ˆμŠ€ν„° λΈŒλžœμΉ˜μ—μ„œ κ΅¬ν˜„ 및 λ³‘ν•©λ©λ‹ˆλ‹€. :tada: :beer: λ”°λΌμ„œ 이 문제λ₯Ό λ‹«μŠ΅λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰