debug random = 1

안녕하세요.

쌩광부입니다.

 

아래 도표는 우리가 만들어야될 각각의 스크린을 표시했는데요.

 

Navigation.png

 

Welcome - 시작화면

MyWallet - 내 지갑

AddWallet - 지갑 생성하기

ImportWallet - 지갑 불러오기

WalletDetail - 지갑 상세보기

Transactions - 거래내역 보기

SendCoin/Token - 코인/토큰 보내기

그냥 제목만 봐도 각각의 화면이 어떤 역할을 하는지 아시겠죠?

 

#3. Navigation 완성하기

 

그럼 이번 강좌에서는 각각의 화면을 만들고 네비게이션으로 연결하는 방법을 알려드립니다.

먼저 추가로 필요한 패키지를 설치합니다.

 

C:\Users\YOUR_USERNAME\topwallet> npm install react-native-actionsheet --save

 

ActionSheet는 iOS에서 자주볼 수 있는 팝업 메뉴인데요.

원래 RN에서는 ActionSheetIOS를 기본적으로 지원하지만 문제는 Android에서는 사용할 수가 없어요.

그렇기 때문에 별도의 Android, iOS 공용 패키지인 react-native-actionsheet를 이용하지요.

react-native-actionsheet 패키지에 대한 자세한 설명은 아래 링크를 참고하세요.

https://github.com/beefe/react-native-actionsheet

 

자 이제 본격적으로 코딩을 해볼까요?

 

우선 아래와 같은 소스 파일들을 ./src/screen 폴더에 생성하세요.

mywallet.js, addwallet.js, importwallet.js, welletdetail.js, transactions.js, sendcoin.js, icon-button.js

 

맨 마지막에 icon-button.js 파일은 Icon 형태의 버튼을 표시하기 위해 필요합니다.

 

mywallet.js 파일을 아래와 같이 코딩합니다.

 

import React, { Component } from 'react';

import { View, Text, Button } from 'react-native';

import ActionSheet from 'react-native-actionsheet'

import { IconButton } from './icon-button';

 

class MyWalletScreen extends Component {

  static navigationOptions =({navigation}) => ({

    title: '내 지갑',

    headerRight: (

      <View style={{marginRight: 5}}>

      <IconButton onPress={() => navigation.getParam('showMenu')() } 

source={require('../img/ico-menu.png')} />

      </View>

    )

  });

 

  componentWillMount() {

    this.props.navigation.setParams({showMenu: () => this.ActionSheet.show()});

  }

 

  render() {

    return (

      <View style={{padding: 5}}>

        <Text style={{marginBottom: 10}}>내 지갑 화면</Text>

        <Button onPress={() => this.props.navigation.navigate('WalletDetail')} 

title="지갑 상세보기"/>

        <View style={{marginBottom: 10}}/>

    <Button onPress={() => this.props.navigation.navigate('Transactions')} 

title="거래내역 보기"/>

        <ActionSheet

          ref={o => this.ActionSheet = o}

          title={'메뉴를 선택하세요.'}

          options={['지갑 생성하기', '지갑 불러오기', '취소']}

          cancelButtonIndex={2}

          destructiveButtonIndex={99}

          onPress={(index) => {

            if(index == 0) this.props.navigation.navigate('AddWallet');

            else if(index == 1) this.props.navigation.navigate('ImportWallet');

          }}

        />

      </View>

    );

  }

}

 

export default MyWalletScreen;

 

한줄 한줄 설명하겠습니다.

 

import { View, Text, Button } from 'react-native';

필요한 UI Component 패키지들을 불러옵니다.

 

import ActionSheet from 'react-native-actionsheet'

ActionSheet를 사용하기 위해 불러오기를 했습니다.

 

import { IconButton } from './icon-button';

아이콘 버튼을 표시하기 위해 불러오기를 했는데요. 좀 뒤에 코딩합니다.

 

여기서 잠깐!

위에 2개의 import를 보시면 from 뒤에 ./가 있는게 있고 없는게 있고 그렇죠?

./가 있다는 것은 현재 내 소스 파일이 있는 폴더에서 지정된 파일을 찾는다는 얘기고요.

./가 없다면 미리 등록된 패키지들 중에서 찾아옵니다.

물론 같은 폴더의 있는 파일들을 불러올때는 ./를 사용하지 않아도 됩니다.

그러나 ./를 지정함으로써 명확하게 이 파일은 내 소스에서 있다고 명시해줘야 차후 설치된 패키지들과의 충돌을 막을 수 있습니다.

 

title: '내 지갑'

이 화면의 이름을 '내 지갑'이라고 출력합니다.

 

headerRight: (

  <View style={{marginRight: 5}}>

  <IconButton onPress={() => navigation.getParam('showMenu')() } source={require('../img/ico-menu.png')} />

  </View>

)

화면 네비게이션바에 우측(headerRight)에 메뉴 버튼을 만듭니다.

그리고 onPress 프로퍼티에 버튼이 눌렸을때 호출할 명령을 작성합니다.

source 프로퍼티에는 메뉴 아이콘을 넣습니다.

아이콘은 아래에서 불러와서 ./src/img 폴더에 넣습니다.

https://github.com/topmining/topwallet/blob/master/src/img/ico-menu.png

 

여기서 잠깐!

지난 강좌에서 설명했듯이 < >안에 표시되는 것들은 Component를 라고 하고요.

그 다음 style, onPress, source 들을 우리는 프로퍼티(속성)라고 부릅니다.

그리고 이런 것들을 총칭해서 props라고 합니다.

앞으로의 소스에 보시면 props 라는 표현을 많이 사용하게 되는데요.

전부 프로퍼티(속성)를 의미합니다.

이런 props는 해당 Component의 고유 속성이라고 보시면 되겠습니다.

결론적으로 props를 어떻게 설정하고 어떻게 변경하느냐에 따라서 모양이 바뀌거나 프로그램의 흐름이 변경되거나 하겠죠. ^^

 

onPress={() => navigation.getParam('showMenu')() }

Component가 눌렸을때 navigation.getParam을 호출해서 showMenu를 불러와서 호출한다는 의미인데요. 어렵죠?

react-navigation을 사용할 경우 Navigation에서 우리가 만드는 Screen의 특정 함수를 직접 호출할 수 없기 때문에 우리가 만든 함수를 Navigation의 params로 연결하고 Navigation은 params를 다시 불러서 함수를 호출합니다. 복잡한 과정이지만 또 지금은 이해가 잘 안가시겠지만.

그냥 그렇구나 하고 그대로 코딩하시면 되겠습니다.

 

componentWillMount()

Component가 화면에 그려지기 직전에 호출되는 함수입니다. 

 

this.props.navigation.setParams({showMenu: () => this.ActionSheet.show()});

이 Component의 props에서 navigation을 불러오고 거기에 showMenu 속성에 이 Component의 ActionSheet.show 함수를 지정합니다. 이건 또 뭔소리?

하나 하나 살펴보면

this 이건 지금 실행되고 있는 이 Component 자신을 의미합니다.

props 이건 위쪽에 설명했던 고유속성을 말하는 거고요.

navigation 이건 저희가 react-navigation을 사용하는데요. 그런 경우 각각의 Screen으로 만든 Component들은 props에 navigation 속성이 추가됩니다.

즉, navigation과 데이터를 주고 받기 위해서는 이 속성이 꼭 필요하겠죠.

더 궁금하셔도 그냥 코딩하세요. 위와 같은 표현은 지속적으로 나오기 때문에 그냥 그렇게 해야되는구나 생각하시면 됩니다.

물론 다른 방법도 있겠지만 저희는 초보니까요. ^^

 

render() 함수에서는 간략하게 이 화면이 '내 지갑 화면'이라는 것을 출력하고요.

 

<Button onPress={() => this.props.navigation.navigate('WalletDetail')} title="지갑 상세보기"/>

지갑 상세보기 화면으로 이동하기 위한 버튼입니다.

 

<Button onPress={() => this.props.navigation.navigate('Transactions')} title="거래내역 보기"/>

거래내역 보기 화면으로 이동하기 위한 버튼입니다.

 

<ActionSheet

  ref={o => this.ActionSheet = o}

  title={'메뉴를 선택하세요.'}

  options={['지갑 생성하기', '지갑 불러오기', '취소']}

  cancelButtonIndex={2}

  destructiveButtonIndex={99}

  onPress={(index) => {

if(index == 0) this.props.navigation.navigate('AddWallet');

else if(index == 1) this.props.navigation.navigate('ImportWallet');

  }}

/>

 

ActionSheet를 화면에 표시하기위한 코딩입니다.

지갑 생성하기, 지갑 불러오기 메뉴를 표시하고 각각을 클릭했을때 각각의 화면으로 이동하는 코딩이 되어있습니다.

나중에 실행해 보시면 아! 이런거구나 알게됩니다.

onPress에는 버튼이 눌렸을때 각각 어느 화면으로 이동하는지를 설정합니다.

 

this.props.navigation.navigate('AddWallet')

AddWallet 화면으로 이동하라는 명령입니다.

위와 같이 this.props.navigation.navigate 함수를 호출하면 간단하게 다른 화면으로 이동할 수 있습니다.

 

icon-button.js 파일은 아래와 같이 코딩합니다.

 

import React from 'react';

import { StyleSheet, TouchableHighlight, Image } from 'react-native';

 

export const IconButton = ({ source, onPress, style }) => (

    <TouchableHighlight style={[styles.container, style]} onPress={onPress}

        underlayColor="#d0d0d0">

        <Image style={styles.image} source={source} />

    </TouchableHighlight>

);

 

const styles = StyleSheet.create({

  container: {

    width: 42,

    height: 42,

    alignItems: 'center',

    justifyContent: 'center',

    borderRadius: 21

  },

  image: {

    width: 32,

    height: 32

  }

});

 

react-native에 기본적인 아이콘 버튼이 없기 때문에 별도로 Component를 제작했습니다.

 

const styles = StyleSheet.create

이곳을 보시면 버튼의 모양을 정의하는 내용이 포함됩니다.

style에 대한 내용은 차후에 다시 설명하도록 하겠습니다.

 

addwallet.js, importwallet.js, welletdetail.js, transactions.js, sendcoin.js 파일의 소스는 깃허브에서 확인하시고 그대로 코딩하시면 됩니다.

https://github.com/topmining/topwallet/tree/master/src/screen

 

여기까지해서 각각의 페이지들을 만들어봤는데요.

이 상태로 실행해봤자 맨 첫 'MyWallet(내 지갑)' 페이지를 연결해주지 않았기 때문에 재대로 실행되지 않겠죠.

 

기존에 만들었던 App.js 파일을 열어 아래와 같이 수정합니다.

 

import React from 'react';

import { createStackNavigator } from 'react-navigation';

 

import WelcomeScreen from './src/screen/welcome';

import MyWalletScreen from './src/screen/mywallet';

import AddWalletScreen from './src/screen/addwallet';

import ImportWalletScreen from './src/screen/importwallet';

import WalletDetailScreen from './src/screen/welletdetail';

import TransactionsScreen from './src/screen/transactions';

import SendCoinScreen from './src/screen/sendcoin';

 

const App = createStackNavigator({

  Welcome: { screen: WelcomeScreen },

  MyWallet: { screen: MyWalletScreen },

  AddWallet: { screen: AddWalletScreen },

  ImportWallet: { screen: ImportWalletScreen },

  WalletDetail: { screen: WalletDetailScreen },

  Transactions: { screen: TransactionsScreen },

  SendCoin: { screen: SendCoinScreen },

},

{

  initialRouteName: "Welcome",

  cardStyle: { backgroundColor: '#FFFFFF' },

});

 

export default App;

 

빨강색으로 표시된 부분이 추가된 부분인데요.

Navigation에 각각의 페이지를 등록해줘야 합니다.

 

이제 ./src/screen 폴더에 있는 welcome.js 파일을 열어 아래와 같이 수정합니다.

  

import React, { Component } from 'react';

import { View, Image } from 'react-native';

import { StackActions, NavigationActions } from 'react-navigation';

 

class WelcomeScreen extends Component {

  static navigationOptions =({navigation}) => ({

    title: "",

    headerTransparent: true

  });

 

  componentDidMount() {

    setTimeout(() => this.gotoMyWallet(), 1000);

  }

 

  gotoMyWallet() {

    const resetAction = StackActions.reset({

      index: 0,

      actions: [NavigationActions.navigate({ routeName: 'MyWallet' })],

    });

    this.props.navigation.dispatch(resetAction);

  }

 

  render() {

    return (

      <View style={{alignItems: 'center', justifyContent: 'center', flex: 1}}>

        <Image source={require('../img/ico-esn.png')} />

      </View>

    );

  }

}

 

export default WelcomeScreen;

 

마찬 가지로 빨강색으로 표시된 부분이 추가된 부분인데요.

 

componentDidMount()

Component가 화면에 그려진 이후 호출되는 함수인데요.

 

여기서 잠깐!

위에 설명했던 componentWillMount와 componentDidMount는 어떤 차이가 있을까요.

둘다 화면이 그려질때 호출되는 함수인데요.

componentWillMount은 화면이 그려지기 이전에 호출됩니다. 

componentDidMount은 화면이 그려진 이후에 호출됩니다.

 

setTimeout(() => this.gotoMyWallet(), 1000);

1000ms(1초) 뒤에 gotoMyWallet 함수를 호출합니다.

 

gotoMyWallet() {

  const resetAction = StackActions.reset({

    index: 0,

    actions: [NavigationActions.navigate({ routeName: 'MyWallet' })],

  });

  this.props.navigation.dispatch(resetAction);

}

원래 this.props.navigation.navigate 함수를 호출해 다른 화면으로 이동한다고 설명했는데요.

여기서는 this.props.navigation.dispatch 함수를 이용해 이제 다시 뒤로 돌아올 필요가 없다고 지정하는 것입니다.

StackActions.reset을 이용해 Navigation 흐름을 삭제하고 MyWallet으로 이동합니다.

즉, WelcomeScreen은 다시 되돌아갈 이유가 없기 때문이죠.

 

만약 

gotoMyWallet() {

  this.props.navigation.navigate('MyWallet');

}

으로 코딩하고 실행하면 어떤 상황이 발생되는지는 직접 확인해보시면 좋겠네요.

 

이제 가상 머신을 뛰우고 실행을 해보겠습니다.

 

C:\Users\YOUR_USERNAME\topwallet> react-native run-android

 

버튼들을 하나씩 클릭해 보시면 아래와 같은 화면들을 볼 수 있습니다.

 

AllScreen.png

 

각 화면들에는 뒤로가기 버튼에 대한 어떠한 코딩도 없는데 희한하게 잘 작동합니다.

바로 react-navigation을 이용했기 때문에 기본적으로 뒤로가기 기능이 작동되는 것이지요.

언밀하게 저희는 StackNavigation기능을 이용한 것인데요.

그외에도 몇 가지 Navigation기능이 더 있습니다. 물론 저희는 이것으로 충분하지요. ^^

 

Tip. 가상 머신에서 RN 디버깅 단축키

가상 머신 실행창에서 Ctrl+M 버튼을 누르면 다양한 옵션을 사용 할 수 있는데요.

그중에 Enable Live Reload, Enable Hot Reloading 기능을 활성화하면 소스 파일이 저장 될때마다 자동으로 빌드되어 실행됩니다.

실제 개발시에는 이것을 활성화하고 코딩을 하면 매우 편리하겠죠.

만약 소스 코드에 오류가 있으면 빨간 배경의 오류창을 볼 수 있기 때문에 바로 바로 소스를 수정 할 수 있겠죠.  ^^

 

오늘 강좌는 여기까지입니다.

이전 강좌를 보고 싶으시면 제 블로그를 방문해주세요.

https://www.ddengle.com/@TopMining

좋아요 많이 부탁합니다.


[알림: 이 게시글은 관리자에 의해 ''에서 '트레이더스'로 이동되었습니다]
27,934 CASH

쌩광부's 서명

profile

이더소셜(ESN) 채굴풀 (Pool fee 0.5%)

https://esn.topmining.co.kr

칼리스토(CLO) 채굴풀 (Pool fee 0.5%)

https://clo.topmining.co.kr

펄(PIRL) 채굴풀 (Pool fee 0.5%)

https://pirl.topmining.co.kr

메타버스(ETP) 채굴풀 (Pool fee 0.5%)

https://etp.topmining.co.kr

폴엠(FLM) 채굴풀 (Pool fee 0.5%)

https://flm.topmining.co.kr

 

디스코드 https://discord.gg/sjwKhaS

페이스북 https://www.facebook.com/topmining.co.kr

트위터 https://twitter.com/TopMining

Atachment
첨부 '1'
댓글 16
  • profile
    굿터치 2018.11.17 23:28
    문과출신이 광부님 작성하신 글을 백퍼 이해하기위해서는 어떤 학습이나 학원코스를 익히면 좋을까요?
    이해가 안돼서 무지 답답합니다.ㅠ
  • profile
    쌩광부 2018.11.17 23:43
    to 굿터치 :
    저도 학원을 다녀본적이 없어서 뭐라 말씀을 드릴수 없네요.
    힘드셔도 그냥 1편 부터 따라 하시면 됩니다.
    뭐든 그렇지만 프로그래밍도 정말 많은 시간을 투자해야 되겠죠. ^^
  • profile
    고독한코인가 2018.11.17 23:39
    멋진강좌입니다. 이 강좌는 땡글과 쌩광부님이 유일한것 같습니다.
  • profile
    ddengle BOT 2018.11.17 23:39
    to 고독한코인가 :
    고독한코인가님 축하합니다. 4 보너스 캐시에 당첨되셨습니다.!!
  • profile
    쌩광부 2018.11.17 23:44
    to 고독한코인가 :
    좋은 말씀 감사합니다.
    좋은 말씀 쓰시니 보너스 캐시도 당첨되네요. ^^
  • profile
    고독한코인가 2018.11.17 23:45
    to 쌩광부 :
    ㅋㅋㅋㅋ 그러네용! 좋은밤 되십시오^^
  • ?
    Investor 2018.11.18 00:36
    좋은 자료 감사합니다 열심히 공부해보겠습니다
  • profile
    ddengle BOT 2018.11.18 00:36
    to Investor :
    Investor님 축하합니다. 4 보너스 캐시에 당첨되셨습니다.!!
  • profile
    청록 2018.11.18 01:19
    너무 어려운 코드들이 있어 이해 불가입니다.
  • profile
    abcoin 2018.11.18 07:59
    좋은 강좌입니다. 어렵지만 최선을 다해 공부합니다. 감사합니다.
  • ?
    존버중 2018.11.18 08:33
    늘 감사하게 보고있습니다. ^^
  • ?
    nadana 2018.11.18 11:37
    시도하고 성공하면 성공작품을 올리겠습니다.~~^^
  • ?
    nadana 2018.11.18 23:00
    헉 자꾸 빨간 화면만 나타나네요 ㅜㅜ
  • profile
    쌩광부 2018.11.18 23:51
    to nadana :
    어딘가에 오류가 있다는 건데요.
    github에서 정확하게 확인해 보세요.
  • ?
    남다른풀빵생각 2018.11.18 23:31
    좋은 강좌 감사합니다!!!
  • ?
    김상가 2018.11.23 10:29
    좋아요 눌렀어용~

List of Articles
번호 제목 추천 수 조회 수 글쓴이 날짜
공지 [Air Drop 이벤트] 게시판을 신설합니다 11 updatefile 4246
땡글운영위원회
2019.05.17
공지 [땡글] (주)이에스엔운영 채용공고 15 file 2 2969
ESN운영
2019.05.14
[AD] [AD] ESN으로만 신청 가능한 광고자리입니다. 14 11799
관리자
2019.01.02
17214 ★Oracol Xor★ 관련 소식이 있어 전해드립니다.       Oracol Yes it is. Bitscreener.com is one of the sites we choose to promote a press release about Oracol Xor https://bitscreener.com/press-release   Bitscreener Press Release | BitScreener List o... 6 file 3 395
청록
2018.11.18
17213 내가 크레이그 라이트라면? 돈버는법...       혹은 우지한이나 로저버 라면?? 돈버는법 ... 쉽네요        1번 지점에서 sv 패배 하고 끝난줄 알았지요...  트위터 abc 의 승리에 샴패인 터트리고 난리 나구요    이때 sv 다 쓸어 모읍니다   이후에 해시 ... 9 file 4 796
풀트리
2018.11.18
17212 ★필독★ oracol xor 또다른 이벤트!!(2탄) 이전 모바일 이벤트 https://www.ddengle.com/traders_free/10252374   이전 오라콜 내용정리 https://blog.naver.com/shinkyojung/221397248110   모바일 지갑 이벤트를 마감 했습니다.   이벤트 참여 해주신 모든 ... 48 file 13 982
청록
2018.11.18
» [강좌] 쌩광부의 모바일 지갑 만들기 #3. Navigation 완성하기 안녕하세요. 쌩광부입니다.   아래 도표는 우리가 만들어야될 각각의 스크린을 표시했는데요.     Welcome - 시작화면 MyWallet - 내 지갑 AddWallet - 지갑 생성하기 ImportWallet - 지갑 불러오기 WalletDetail - ... 16 file 26 1061
쌩광부
2018.11.17
17210 삭제한 글입니다 삭제한 글입니다 155
아랑이
2018.11.17
17209 후오비 빅데이터 연구 보고서가 또 나왔네요 Huobi Blockchain Big Data Weekly Insights (Vol.22 2018/10/31–2018/11/7)   https://coinpost.jp/?p=56249   빅데이터 자료 분석해서 매주 발표하는 거지만 모르는 분도 계실거 같아 투자에 참고하시라 올립니다. ... 7 1 678
카네모치
2018.11.17
17208 ★필독★ oracol xor 또다른 이벤트!! 제가 oracol.mobi 사이트 한국어 번역을 해서 바운티 20,000개 받았습니다.   텔방 내용이구요..   2만개 쏩니다.^^   오라콜 모바일 지갑 생성하시고 지갑주소 댓글 주시는 분께 500xor 에어드랍 해 드립니다.   2만... 146 file 18 1500
청록
2018.11.17
17207 b3코인 스테이킹 질문 b3코인 스테이킹을 시도하고 있습니다 스테이킹 관련 검색을 해 봤지만 잘 안되는것이 있어서 질문을 올려 봅니다 https://discordapp.com/invite/x7zsNh6 이 사이트에서 b3coin.conf, peers.dat 2개의 파일을 다운 ... 1 201
천공태자
2018.11.17
17206 삭제한 글입니다 삭제한 글입니다 237
NWD
2018.11.17
17205 우린 세뇌당하고 있을지도 모른다 - Twitter Influencer를 경계한다.   스타벅스안의 인어가 자꾸 전진하고 있다는 것 눈치채셨나요?   계속해서 그안에 있다보면 물들게되고 이게 신념으로 바뀌는 순간 우린 세뇌당하게 되는거죠.   제가 질문하나하겠습니다. 여러분 마음속에 비트코인... 9 file 9 1414
굿터치
2018.11.17
17204 비트코인캐시 역프 뭐죠?    코인마캐캡 기준으로 405달러 빗썸 기준으로는 391,000원이니 대략 12% 정도 역프 인거 맞는건가요?    메이져코인중에 이렇게 역프율이 높은건 간만에 본거 같은데 매입해야 되는건지 말아야 되는건지 아리송 하... 9 871
깨달음
2018.11.17
17203 ★오라콜 xor★ 코인 다시 한번 검토 해 주세요.   블로그 링크만 걸겠습니다.   https://blog.naver.com/shinkyojung/221397248110   분명 다른 코인과는 다릅니다. 관리자 마인드가 최강입니다.   풀을 만드실줄 아시는 분은 풀 만들어 주시면 지원 해 드리겟습니... 5 7 899
청록
2018.11.17
17202 이제는 가야죠~ 안녕하세요.   이렇게 저렇게 비캐 하드포크도 끝나고 조~금 회복하는 분위기인듯 합니다. 올해도 한달반 남았는데 이제는 쭉쭉 좀 올라갔음 하네요..     코인판에 대형 악재 없이~   가뜩이나 불안한 코인판을 휘젖... 34 file 8 1263
크림메일
2018.11.16
17201 비트캐시를 지옥으로 보내고 있는 세력은 누구? 1. 비캐를 비코보다 채산성 높게 해서 비캐해쉬를 끌어와야하는 우지한, 로저버네인가? (지옥 보내고 폭등 시키려는?)   2. 우지한네 비캐 해쉬를 끌어오지 못하도록 채산성 똥망으로 만들고 있는 크레이그 켈리 연합... 13 1 1297
디엠스토리
2018.11.16
17200 [18.11.16] 비트코인캐시 하드포크 대전 Bitcoin ABC 승! 다양한 소식들!   하양이아빠입니다.   ☆ 오늘의 Pick 뉴스 비트코인캐시 하드포크 전쟁의 승자는 Bitcoin ABC   =&gt; 오늘 새벽 1시 40분경 진행된 하드포크의 해시파워 전쟁의 승자는 BitcoinABC 진영이네요. 향후 Sv가 51% 어택을 ... 13 file 11 1354
하양이아빠
2018.11.16
17199 (번역) 이더리움 희망회로입니다. 맞으면 좋겠네요.   트위터상에 속칭 &quot;차트쟁이&quot;인 분들이 많은데 그중 눈에 띄길래 옮겨봅니다.   FatihSK87라는 트윗 아이디를 쓰는 사람이 지난 6월경부터 올려놓은 차트입니다.       6월 21일 “또다른 이더리움 시나리오. 약간 무... 20 file 15 3021
ryanSCB
2018.11.16
17198 ★필독★ oracol xor 을 소개 했던 청록 입니다. L3+를 가지신 분이라면 꼭 읽어 주세요.   오라콜 XOR 코인을 소개합니다. 현재 캐나다에 법인을 설립하고, 벨기에 거래소 및 금융기관과 파트너쉽을 맺고 있습니다. 일단 메인 홈페이지 링크 입니다.(https://oracol.org/) 현재 세계적으로 광고를 진행 하... 84 file 9 1690
청록
2018.11.16
17197 프로비넌스 행사 티켓 나눔합니다. 프로비넌스 행사 티켓 나눔합니다.   다음주 화요일(11월 20일) 세빛섬에서 열리는  프로비넌스 행사 티켓 나눔합니다.    프로비넌스(https://www.provenance.events/) 는 아일랜드에 위치한 회사로 블록체인제품이 ... 2 file 175
구탑
2018.11.16
17196 바이넨스 BCHABC, BCHSV 상장   바이넨스 BCHABC, BCHSV 상장 했네요.   일단 BCHSV가 50%정도 상승하며 달려주고있네요.                         ------------------------------------- 꼬리말 * 게시글 내용 삭제시 레벨 강등 * 질문은 각 주... 3 file 722
애이불비
2018.11.16
17195 아프니? 비트코인이 5100불까지 떨어져도 로켓이 없다. 이더 20만원깨지면 집팔고 사겠다는 사람도 나타나지 않는다.   2차 비캐의난을 기대하며 조금 매수했던 BCH 오늘 밥을 던졌다.(BAB) BSV는 끝까지 가져가볼 생각이다. ... 8 file 9 665
굿터치
2018.11.16
목록
Board Pagination Prev 1 ... 100 101 102 103 104 105 106 107 108 109 ... 965 Next
/ 965