투석기 Cow에서 거래 수수료 설정

소개



투석기 Cow가 나왔습니다. 분명히 수수료를 설정할 수 있게 된 것 같습니다.

수수료 설정


minFeeMultiplier = 0

해보자



설정



최소 수수료 곱? 100으로 해보겠습니다.
minFeeMultiplier = 100

먼저 사용하려는 계정의 잔액을 살펴 보겠습니다.

초기 잔액은 [2811359534,963522852] 하지만 [1004000100,0] 입니다.



그럼, 트랜잭션을 보내고 싶습니다.

수수료 없음



처음에는 수수료 없음. 송금 금액은 1000000 .



보낼 수 없었습니다.



노드의 콘솔에는 이러한 로그가 기록되었습니다.
api-node-0_1              | 2019-02-22 00:47:01.007738 0x00007ff396fed700: <info> (chain::UtUpdater.cpp@144) dropping transaction 4BD3CC536CCECC8FCA9C2275844C136F454B9FD75464D5C12711DE04060F0409 with max fee 0 because min fee is 16500 
peer-node-1_1             | 2019-02-22 00:47:01.218005 0x00007fc6dcff1700: <info> (chain::UtUpdater.cpp@144) dropping transaction 4BD3CC536CCECC8FCA9C2275844C136F454B9FD75464D5C12711DE04060F0409 with max fee 0 because min fee is 16500 
peer-node-0_1             | 2019-02-22 00:47:01.370277 0x00007f8fe3ff7700: <info> (chain::UtUpdater.cpp@144) dropping transaction 4BD3CC536CCECC8FCA9C2275844C136F454B9FD75464D5C12711DE04060F0409 with max fee 0 because min fee is 16500 

수수료는 최소 16500가 아니면 안됩니다.

수수료 포함



다음은, 수수료 1000000 로 보내 봅니다.



보냈습니다.


"maxFee": "1000000" 라고 써 있습니다.

잔액은 어떻게 되었습니까?


[1004000100,0] 에서, [1002000200,0] 가 되었습니다.
1999900 줄어들었습니다.

송금 금액을 공제하면 999900 당겨집니다. 지정한 수수료보다 조금 작네요.

수수료 계산



이상의 사건으로부터 수수료의 계산에 대해 추측합니다(소스를 보면 알 수 있다고 생각하지만, 보는 방법을 모른다).
  • 설정한 수수료를 넘지 않는 최대의 트랜잭션 사이즈 배수가 당겨진다.
  • 최소 수수료는 거래 크기와 minFeeMultiplier의 곱입니다.

  • 우선, 이번 송신한 트랜스퍼 트랜잭션의 선두 4 바이트는, A5000000 로 되어 있어, 이것은 사이즈가 165 바이트인 것을 의미합니다.

    그래서 수수료 0으로 보내면 16500 이상 내보내고 화가났다고 생각합니다.

    또, 999900 는, 165 * 6060 그래서, 아마, 트랜잭션 사이즈에 관계하고 있는 것이라고 생각했습니다.

    수확



    수수료로 인한 금액은 블록 작성자에게 말하고 있습니까? 보자.





    나중에


    [2811359534,963522852][3969189972,95248] 에서 [3970189872,95248] 로 증가했습니다.

    차이는 확실히 999900 입니다.

    결론



    이 사양은 앞으로 다시 바뀔 것입니다.

    좋은 웹페이지 즐겨찾기