Skip to content

Commit

Permalink
Merge pull request CryptozombiesHQ#340 from MakeHoney/fix-typo-ko
Browse files Browse the repository at this point in the history
Fix some typos in ko-lesson
  • Loading branch information
eduardonunesp authored Sep 14, 2018
2 parents 5a1fb2d + d7c8f1d commit b8e6ef0
Show file tree
Hide file tree
Showing 5 changed files with 14 additions and 14 deletions.
2 changes: 1 addition & 1 deletion ko/1/functions.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ material:
}
---

솔라디티에서 함수 선언은 다음과 같이 하네:
솔리디티에서 함수 선언은 다음과 같이 하네:

```
function eatHamburgers(string _name, uint _amount) {
Expand Down
20 changes: 10 additions & 10 deletions ko/2/11-interactingcontracts2.md
Original file line number Diff line number Diff line change
Expand Up @@ -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]);
Expand Down Expand Up @@ -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`를 이용하여 초기화한다.
1. 코드를 보면 `ckAddress`라는 변수에 크립토키티 컨트랙트 주소가 입력되어 있다. 다음 줄에 `kittyContract`라는 `KittyInterface`를 생성하고, 위의 `numberContract` 선언 시와 동일하게 `ckAddress`를 이용하여 초기화한다.
2 changes: 1 addition & 1 deletion ko/3/05-timeunits.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand Down
2 changes: 1 addition & 1 deletion ko/3/08-functionmodifiers.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: 함수 제어자 톺아보기
title: 함수 제어자의 또 다른 특징
actions: ['checkAnswer', 'hints']
requireLogin: true
material:
Expand Down
2 changes: 1 addition & 1 deletion ko/3/12-forloops.md
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,7 @@ function getZombiesByOwner(address _owner) external view returns (uint[]) {

솔리디티에서 storage에 쓰는 것은 가장 비용이 높은 연산 중 하나이기 때문에, 이 전달 함수에 대한 모든 호출은 가스 측면에서 굉장히 비싸게 될 것이네. 더 안 좋은 점은, 이 함수가 실행될 때마다 다른 양의 가스를 소모할 것이라는 점이네. 사용자가 자신의 군대에 얼마나 많은 좀비를 가지고 있는지, 또 거래되는 좀비의 인덱스에 따라 달라지겠지. 즉 사용자들은 거래에 가스를 얼마나 쓰게 될지 알 수 없게 되네.

참고: 물론, 빈 자리를 채우기 위해 마지막 좀비를 마지막 좀비를 움직인 다음, 배열의 길이를 하나 줄여도 되겠지. 하지만 그렇게 하면 교환이 일어날 때마다 좀비 군대의 순서가 바뀌게 될 것이네.
참고: 물론, 빈 자리를 채우기 위해 마지막 좀비를 움직인 다음, 배열의 길이를 하나 줄여도 되겠지. 하지만 그렇게 하면 교환이 일어날 때마다 좀비 군대의 순서가 바뀌게 될 것이네.

`view` 함수는 외부에서 호출될 때 가스를 사용하지 않기 때문에, 우린 `getZombiesByOwner` 함수에서 for 반복문을 사용해서 좀비 배열의 모든 요소에 접근한 후 특정 사용자의 좀비들로 구성된 배열을 만들 수 있을 것이네. 그러고 나면 `transfer` 함수는 훨씬 비용을 적게 쓰게 되겠지. 왜냐하면 storage에서 어떤 배열도 재정렬할 필요가 없으니까 말이야. 일반적인 직관과는 반대로 이런 접근법이 전체적으로 비용 소모가 더 적네.

Expand Down

0 comments on commit b8e6ef0

Please sign in to comment.