From 57a18e7e2e275efbdf03d2d6684150d891475559 Mon Sep 17 00:00:00 2001 From: makehoney Date: Tue, 14 Aug 2018 20:39:53 +0900 Subject: [PATCH 1/5] Fix typo in session1 functions part --- ko/1/functions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ko/1/functions.md b/ko/1/functions.md index 49cf660fe..af90ad31a 100644 --- a/ko/1/functions.md +++ b/ko/1/functions.md @@ -45,7 +45,7 @@ material: } --- -솔라디티에서 함수 선언은 다음과 같이 하네: +솔리디티에서 함수 선언은 다음과 같이 하네: ``` function eatHamburgers(string _name, uint _amount) { From 1e47204f1fc0c5a57e95be54c3ce345553541df7 Mon Sep 17 00:00:00 2001 From: makehoney Date: Tue, 14 Aug 2018 23:37:14 +0900 Subject: [PATCH 2/5] remove the english sentence that is before translated in chapter.11 of second session (Korean version) --- ko/2/11-interactingcontracts2.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/ko/2/11-interactingcontracts2.md b/ko/2/11-interactingcontracts2.md index f3ea51067..0960ee9df 100644 --- a/ko/2/11-interactingcontracts2.md +++ b/ko/2/11-interactingcontracts2.md @@ -28,7 +28,7 @@ material: contract ZombieFeeding is ZombieFactory { address ckAddress = 0x06012c8cf97BEaD5deAe237070F9587f8E7A266d; - // `ckAddress`를 이용하여 여기에 kittyContract를 초기화한다 + // `ckAddress`를 이용하여 여기에 kittyContract를 초기화한다 function feedAndMultiply(uint _zombieId, uint _targetDna) public { require(msg.sender == zombieToOwner[_zombieId]); @@ -122,27 +122,27 @@ contract NumberInterface { } ``` -다음과 같이 컨트랙트에서 인터페이스를 이용할 수 있지: +다음과 같이 컨트랙트에서 인터페이스를 이용할 수 있지: ``` contract MyContract { - address NumberInterfaceAddress = 0xab38... - // ^ 이더리움상의 FavoriteNumber 컨트랙트 주소이다 + address NumberInterfaceAddress = 0xab38... + // ^ 이더리움상의 FavoriteNumber 컨트랙트 주소이다 NumberInterface numberContract = NumberInterface(NumberInterfaceAddress) - // 이제 `numberContract`는 다른 컨트랙트를 가리키고 있다. Now `numberContract` is pointing to the other contract + // 이제 `numberContract`는 다른 컨트랙트를 가리키고 있다. function someFunction() public { - // 이제 `numberContract`가 가리키고 있는 컨트랙트에서 `getNum` 함수를 호출할 수 있다: + // 이제 `numberContract`가 가리키고 있는 컨트랙트에서 `getNum` 함수를 호출할 수 있다: uint num = numberContract.getNum(msg.sender); - // ...그리고 여기서 `num`으로 무언가를 할 수 있다 + // ...그리고 여기서 `num`으로 무언가를 할 수 있다 } } ``` -이런 식으로 자네의 컨트랙트가 이더리움 블록체인상의 다른 어떤 컨트랙트와도 상호작용할 수 있네. 물론 상호작용하는 함수가 `public`이나 `external`로 선언되어 있어야 하지. +이런 식으로 자네의 컨트랙트가 이더리움 블록체인상의 다른 어떤 컨트랙트와도 상호작용할 수 있네. 물론 상호작용하는 함수가 `public`이나 `external`로 선언되어 있어야 하지. # 직접 해보기 -크립토키티 스마트 컨트랙트에서 데이터를 읽어 오도록 우리 컨트랙트를 설정해 보세! +크립토키티 스마트 컨트랙트에서 데이터를 읽어 오도록 우리 컨트랙트를 설정해 보세! -1. 코드를 보면 `ckAddress`라는 변수에 크립토키티 컨트랙트 주소가 입력되어 있다. 다음 줄에 `kittyContract`라는 `KittyInterface`를 생성하고, 위의 `numberContract` 선언 시와 동일하게 `ckAddress`를 이용하여 초기화한다. \ No newline at end of file +1. 코드를 보면 `ckAddress`라는 변수에 크립토키티 컨트랙트 주소가 입력되어 있다. 다음 줄에 `kittyContract`라는 `KittyInterface`를 생성하고, 위의 `numberContract` 선언 시와 동일하게 `ckAddress`를 이용하여 초기화한다. From 8f5b90eaab40f40ed1d9cc1a47353747a32df662 Mon Sep 17 00:00:00 2001 From: makehoney Date: Wed, 15 Aug 2018 01:36:27 +0900 Subject: [PATCH 3/5] Reomve unnecessary english sentence that is before translated in chapter.5 of lesson.3 --- ko/3/05-timeunits.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ko/3/05-timeunits.md b/ko/3/05-timeunits.md index 082cf19d6..4b5218a7b 100644 --- a/ko/3/05-timeunits.md +++ b/ko/3/05-timeunits.md @@ -188,7 +188,7 @@ material: `readyTime` 속성은 조금 설명이 필요할 듯하군. 이것의 목표는 좀비가 먹이를 먹거나 공격을 하고 나서 다시 먹거나 공격할 수 있을 때까지 기다려야 하는 "재사용 대기 시간"을 추가하는 것이네. 이 속성 없이는, 좀비는 하루에 천 번 이상 공격하거나 증식할 수 있지. 이러면 게임이 너무 쉬워져 버릴 것이네. 좀비가 다시 공격할 때까지 기다려야 하는 시간을 측정하기 위해, 우리는 솔리디티의 시간 단위(Time units)를 사용할 것이네. -In order to keep track of how much time a zombie has to wait until it can attack again, we can use Solidity's time units. + ## 시간 단위(Time units) From 63190caedf84f67059871ff9d5179a260f238e93 Mon Sep 17 00:00:00 2001 From: makehoney Date: Wed, 15 Aug 2018 02:01:46 +0900 Subject: [PATCH 4/5] Modify some mistraslation in Chapter.8 of Lesson.3 --- ko/3/08-functionmodifiers.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ko/3/08-functionmodifiers.md b/ko/3/08-functionmodifiers.md index c74b62326..5721e2969 100644 --- a/ko/3/08-functionmodifiers.md +++ b/ko/3/08-functionmodifiers.md @@ -1,5 +1,5 @@ --- -title: 함수 제어자 톺아보기 +title: 함수 제어자의 또 다른 특징 actions: ['checkAnswer', 'hints'] requireLogin: true material: From d7c8f1d57c6801e4b4849e4aa5dd98adc77040e1 Mon Sep 17 00:00:00 2001 From: makehoney Date: Wed, 15 Aug 2018 02:39:06 +0900 Subject: [PATCH 5/5] Remove mistakenly duplicate word in Chapter.12 of Lesson.3 --- ko/3/12-forloops.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ko/3/12-forloops.md b/ko/3/12-forloops.md index 0dc93e69f..3f8d896e2 100644 --- a/ko/3/12-forloops.md +++ b/ko/3/12-forloops.md @@ -236,7 +236,7 @@ function getZombiesByOwner(address _owner) external view returns (uint[]) { 솔리디티에서 storage에 쓰는 것은 가장 비용이 높은 연산 중 하나이기 때문에, 이 전달 함수에 대한 모든 호출은 가스 측면에서 굉장히 비싸게 될 것이네. 더 안 좋은 점은, 이 함수가 실행될 때마다 다른 양의 가스를 소모할 것이라는 점이네. 사용자가 자신의 군대에 얼마나 많은 좀비를 가지고 있는지, 또 거래되는 좀비의 인덱스에 따라 달라지겠지. 즉 사용자들은 거래에 가스를 얼마나 쓰게 될지 알 수 없게 되네. -참고: 물론, 빈 자리를 채우기 위해 마지막 좀비를 마지막 좀비를 움직인 다음, 배열의 길이를 하나 줄여도 되겠지. 하지만 그렇게 하면 교환이 일어날 때마다 좀비 군대의 순서가 바뀌게 될 것이네. +참고: 물론, 빈 자리를 채우기 위해 마지막 좀비를 움직인 다음, 배열의 길이를 하나 줄여도 되겠지. 하지만 그렇게 하면 교환이 일어날 때마다 좀비 군대의 순서가 바뀌게 될 것이네. `view` 함수는 외부에서 호출될 때 가스를 사용하지 않기 때문에, 우린 `getZombiesByOwner` 함수에서 for 반복문을 사용해서 좀비 배열의 모든 요소에 접근한 후 특정 사용자의 좀비들로 구성된 배열을 만들 수 있을 것이네. 그러고 나면 `transfer` 함수는 훨씬 비용을 적게 쓰게 되겠지. 왜냐하면 storage에서 어떤 배열도 재정렬할 필요가 없으니까 말이야. 일반적인 직관과는 반대로 이런 접근법이 전체적으로 비용 소모가 더 적네.