# 클레이튼에 관해 궁금한 점이 있습니다

**URL:** <https://devforum.kaia.io/t/topic/191>\
**Category:** Kaia\
**Created:** [5월 29, 2020, 6:53오전 UTC](https://devforum.kaia.io/t/topic/191 "2020-05-29T06:53:20Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![111](https://yyz1.discourse-cdn.com/flex035/user_avatar/devforum.kaia.io/111/32/150_2.png) [@111](https://devforum.kaia.io/u/111)\
**Post date:** [5월 29, 2020, 6:53오전 UTC](https://devforum.kaia.io/t/topic/191/1 "2020-05-29T06:53:20Z")

</div>

클레이튼 기반의 플랫폼을 개발중인데, 궁금한 점이 생겨서 질문 드립니다.

1. Klaytn의 블록사이즈가 얼마인지 궁금합니다. 메인넷과 테스트넷 모두 동일한 블록사이즈인지도 궁금합니다.
2. Genesis Block에 초기 클레이 수량의 Reward가 0인데 클레이의 총 발행량을 어떻게 확인할 수 있을까요?  
클레이튼 문서에는 최초발행량 100억개라고 나와있는데, 클레이튼 스코프에서 해당 발행량을 확인할 수 있는 방법이 있는지 궁금합니다.

---

<div class="post-metadata">

**Author:** ![colin.kim](https://yyz1.discourse-cdn.com/flex035/user_avatar/devforum.kaia.io/colin.kim/32/55_2.png) [@colin.kim](https://devforum.kaia.io/u/colin.kim)\
**Post date:** [5월 30, 2020, 3:25오후 UTC](https://devforum.kaia.io/t/topic/191/2 "2020-05-30T15:25:52Z")

</div>

안녕하세요, 그라운드 X 김정현입니다.

먼저, 클레이튼 포럼에 질문을 올려주셔서 감사드립니다.

질문에 대해 답변 드리겠습니다.

1. 블록사이즈가 정확히 무엇을 말씀하시는 걸까요? 각 블록의 크기는 각 블록에 트랜잭션이 얼마나 담겨있는지에 따라 달라집니다. 블록의 포맷은 테스트넷인 Baobab과 메인넷인 Cypress이 모두 동일합니다. 블록 헤더에 대한 정보는 아래 링크에서 확인하실 수 있습니다.  
[https://github.com/klaytn/klaytn/blob/ddb8c478ac9805d06e210209c5e8a69b587cd8b6/blockchain/types/block.go#L51-L67](https://github.com/klaytn/klaytn/blob/ddb8c478ac9805d06e210209c5e8a69b587cd8b6/blockchain/types/block.go#L51-L67)

2. 죄송하지만 KlaytnScope에서 확인하실 수 있는 방법은 현재는 없는 것으로 파악되고 있습니다. 총 발행량은 genesis.json 파일을 보시면 확인할 수 있습니다. genesis.json은 아래 파일에서 “cypressGenesisJson” 부분을 확인하시면 됩니다.  
[https://github.com/klaytn/klaytn/blob/ddb8c478ac9805d06e210209c5e8a69b587cd8b6/blockchain/genesis\_alloc.go](https://github.com/klaytn/klaytn/blob/ddb8c478ac9805d06e210209c5e8a69b587cd8b6/blockchain/genesis_alloc.go)  
맨 아래쪽에 보시면 genesis block에서의 발행량을 확인하실 수 있습니다.

```auto
        "22835801c15abee19f408c78cad1da41cbb6f0da": {
            "balance": "0xcecb8bc4978532dc1600000"
        },
        "24f55a6f46f126aa7209c882c275fedb6c108164": {
            "balance": "0x6765c793fa10079d0000000"
        },
        "79bf6868cb4f7d3dd43d915690f3556669afcf4e": {
            "balance": "0x6765c793fa10079d0000000"
        },
        "ba411543b06dca2fcc3730b2b09f40c5bb5cddd5": {
            "balance": "0x6765c793fa10079d0000000"
        },
        "854ca8508c8be2bb1f3c244045786410cb7d5d0a": {
            "balance": "0x3635c9adc5dea00000"
        }

```

각 balance는 peb단위이므로, 계산을 해보면 아래와 같이 각 주소별 KLAY를 확인할 수 있고, 총합은 100억 KLAY를 확인하실 수 있습니다.

```auto
22835801c15abee19f408c78cad1da41cbb6f0da 3,999,999,000 KLAY
24f55a6f46f126aa7209c882c275fedb6c108164 2,000,000,000 KLAY
79bf6868cb4f7d3dd43d915690f3556669afcf4e 2,000,000,000 KLAY
ba411543b06dca2fcc3730b2b09f40c5bb5cddd5 2,000,000,000 KLAY
854ca8508c8be2bb1f3c244045786410cb7d5d0a 1,000 KLAY
sum = 10,000,000,000 KLAY

```

참고로, KLAY의 화폐단위는 아래 링크에서 확인하실 수 있습니다.  
[https://docs.klaytn.com/klaytn/design/klaytn-native-coin-klay#units-of-klay](https://docs.klaytn.com/klaytn/design/klaytn-native-coin-klay#units-of-klay)  
[https://ko.docs.klaytn.com/klaytn/design/klaytn-native-coin-klay#units-of-klay](https://ko.docs.klaytn.com/klaytn/design/klaytn-native-coin-klay#units-of-klay)

답변이 되셨기를 바라며, 부족한 부분은 추가 질문해주시면 답변해 드리도록 하겠습니다. 감사합니다.

---

<div class="post-metadata">

**Author:** ![111](https://yyz1.discourse-cdn.com/flex035/user_avatar/devforum.kaia.io/111/32/150_2.png) [@111](https://devforum.kaia.io/u/111)\
**Post date:** [5월 31, 2020, 1:35오전 UTC](https://devforum.kaia.io/t/topic/191/3 "2020-05-31T01:35:28Z")

</div>

안녕하세요. 김정현님.  
답변 감사합니다.

1번 질문은 Block Size의 최댓값을 알고 싶어서 드린 질문입니다.  
블록에 담긴 트랜잭션 수와 종류에 따라 블록사이즈는 달라지겠지만 블록의 최댓값이 존재하는지 궁금했습니다.

예를 들어, 아래와 같은 컨트랙트가 있습니다.

```auto
contract Data {
    string x;
    function write(string memory _x) public {
        x = _x;
    }
    function read() public view returns (string memory) {
        return x;
    }
}

```

dataContract.write(data)와 같이 data를 저장할 때 data.lengh를 4000으로 보내고 있는데 얼마로 보내면 적당할까요?  
그리고 한 블록에서 여러개의 Data contract에서 dataContract.write(data)를 각각 호출해도 문제가 없을지 궁금합니다.

---

<div class="post-metadata">

**Author:** ![colin.kim](https://yyz1.discourse-cdn.com/flex035/user_avatar/devforum.kaia.io/colin.kim/32/55_2.png) [@colin.kim](https://devforum.kaia.io/u/colin.kim)\
**Post date:** [5월 31, 2020, 2:25오후 UTC](https://devforum.kaia.io/t/topic/191/4 "2020-05-31T14:25:16Z")

</div>

안녕하세요, 추가 답변 드립니다.

제가 질문을 제대로 이해했는지는 잘 모르겠습니다만, 아래와 같이 답변을 드릴 수 있을 것 같습니다.

1. 일단 한 블록에서 어떤 트랜잭션이 담길지는 Klaytn의 consensus node가 결정하는 문제라서, 컨트랙트 개발자의 입장에서 블록 사이즈를 고려하실 필요는 없을 것 같습니다. 다만 말씀하시는 것처럼 트랜잭션 하나에 대해서는 고려를 하셔야 할 것 같습니다. 일단 트랜잭션의 최대 크기는 32KB입니다. RLP encoding된 byte를 기준으로 계산하여 32KB를 초과할 경우에는 Klaytn network으로 tx를 전송하실 수 없으며, "oversized data"라는 에러를 반환합니다.
2. 한 블록에서 여러개의 data contract에 대해서 dataContract.write(data)를 호출하는 것은 여러 트랜잭션을 전송한다는 의미로 파악이 됩니다. 그럴경우에는 트랜잭션이 하나의 블록에 담길지 다른 블록에 담길지는 consensus node가 판단하는 부분이어서 만약 한 블록에 담기지 못할 경우에는 서로 다른 블록에 담겨지게 됩니다.

답변이 되셨기를 바라며, 부족한 부분은 추가 질문해주시면 답변해 드리도록 하겠습니다. 감사합니다. 🙂

---

<div class="post-metadata">

**Author:** ![111](https://yyz1.discourse-cdn.com/flex035/user_avatar/devforum.kaia.io/111/32/150_2.png) [@111](https://devforum.kaia.io/u/111)\
**Post date:** [5월 31, 2020, 2:43오후 UTC](https://devforum.kaia.io/t/topic/191/5 "2020-05-31T14:43:17Z")

</div>

감사합니다.  
블록체인의 이해도가 떨어져 질문 내용이 두서가 없었네요 ㅠㅠ  
답변해 주신 내용을 통해 제가 궁금했던 점이 모두 해소 되었습니다.

다시 한 번 답변 감사드립니다 😄

---

<div class="post-metadata">

**Author:** ![colin.kim](https://yyz1.discourse-cdn.com/flex035/user_avatar/devforum.kaia.io/colin.kim/32/55_2.png) [@colin.kim](https://devforum.kaia.io/u/colin.kim)\
**Post date:** [5월 31, 2020, 2:48오후 UTC](https://devforum.kaia.io/t/topic/191/6 "2020-05-31T14:48:17Z")

</div>

네, 충분한 답변이 되셨길 바랍니다.

앞으로 추가적인 궁금증이 생기시면 언제라도 Klaytn forum에 질문 부탁드리겠습니다.

감사합니다 😆
