Electron+Vue에서 가상 화폐의 판 정보 보기
Eletron이란, 다시 말하면, Windows/macOS/Linux에서 실행할 수 있는 데스크탑 앱을 HTML+CSS+JavaScript와 같은 Web 기술로 개발할 수 있는 프레임워크입니다. VSCode나 Atom에서 사용되고 있는 프레임워크군요.
전제
Node.js가 설치되어 있어야 합니다.
프로젝트 만들기
프런트 엔드는 Vue.js를 사용하여 만들고 싶으므로 Electron에 Vue.js가 들어있는 보일러 플레이트 electron-vue를 사용하여 프로젝트를 만들려고합니다.
electron-vue는 일본어 문서하지만, 충실하고 있기 때문에 그쪽을 보는 것이 빠르다든지 있습니다만, 아래와 같이 vue-cli를 인스톨 해, vue init로 환경이 곧 만들 수 있습니다.
# vue-cliをインストール
npm install -g vue-cli
# プロジェクト作成
vue init simulatedgreg/electron-vue my-project
# 依存関係をインストールして実行
cd my-project
yarn # or npm install
yarn run dev # or npm run dev
표시되었습니다!
Bitflyer Lightning API 키 획득
Bitflyer Lightning 개발자 페이지에서 API 키와 API 비밀을 발행합니다.
Bitflyer의 API 문서는 아래에 있습니다.
htps : // ぃght 마늘 g. tfぇr. jp/두 cs
예를 들어, 이번에 취득하고 싶은 판 정보의 경우라면, 다음과 같이 간단하게 취득할 수 있습니다.
var request = require('request');
var url = 'https://api.bitflyer.jp/v1/board';
request(url, function (err, response, payload) {
console.log(payload);
});
라고 써 주목했지만, Bitflyer의 API에는, API 키에 의한 인증이 불필요한 HTTP Public API 와, 인증이 필요한 HTTP Private API 가 있어, 이번 판 정보와 같은 Public인 API를 사용하는 것만이라면 , API 키는 필요하지 않습니다. . .
구현
먼저 프로젝트를 열고 router를 수정하고 판 정보 표시용 페이지로의 라우팅을 작성합니다.
router/index.jsimport Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)
export default new Router({
routes: [
{
path: '/',
name: 'btc',
component: require('@/components/Btc').default
},
{
path: '*',
redirect: '/'
}
]
})
다음으로, 판 정보 표시용의 페이지를 작성합니다.
Btc.vue<template>
<main>
<section class="section">
<div class="container">
<h1 class="title">Bitcoin ask/bid volume</h1>
<board></board>
</div>
</section>
</main>
</template>
<script>
import Board from './Btc/Board'
export default {
name: 'btc',
components: { Board }
}
</script>
다음으로, 판 정보 표시용의 컴퍼넌트를 작성합니다.
※Bitflyer의 API는, 위쪽에서 예시한 것처럼 간단하게 사용할 수 있습니다만, 코드에서는 API를 랩 해 모듈화해 사용하도록 하고 있습니다.
※덧붙여 생략했습니다만, CSS는 vuejs+bulma인 buefy 도 인스톨 하고 있습니다.
Btc/Board.vue<template>
<div class="is-size-7">
<b-table
:data="asks"
:narrowed="true"
:bordered="true">
<template slot-scope="props">
<b-table-column label="size (Ask)" width="120" numeric class="has-text-success">
{{ props.row.size.toFixed(8) }}
</b-table-column>
<b-table-column label="price" width="100" numeric centered>
{{ props.row.price.toLocaleString() }}
</b-table-column>
<b-table-column label="" width="120">
</b-table-column>
</template>
</b-table>
<b-table
:data="bids"
:narrowed="true"
:bordered="true">
<template slot-scope="props">
<b-table-column label="" width="120" numeric>
</b-table-column>
<b-table-column label="price" width="100" numeric centered>
{{ props.row.price.toLocaleString() }}
</b-table-column>
<b-table-column label="size (Bid)" width="120" class="has-text-danger">
{{ props.row.size.toFixed(8) }}
</b-table-column>
</template>
</b-table>
</div>
</template>
<script>
import { BitFlyerClient } from '@tadko/bitflyer-client'
export default {
name: 'board',
mounted () {
this.$nextTick(function () {
const bitflyerClient = new BitFlyerClient(process.env.BITFLYER_KEY, process.env.BITFLYER_SECRET)
window.setInterval(() => {
bitflyerClient.getBoard()
.then((board) => {
this.asks = board.asks.slice(0, 10).reverse()
this.bids = board.bids.slice(0, 10)
})
.catch(console.error)
},
3000)
})
},
data () {
return {
bids: [],
asks: []
}
}
}
</script>
실행하면 실시간으로 Bitflyer의 BTC 보드 정보가 표시됩니다.
마지막으로
Electron은, 웹의 기술만으로 데스크탑 앱을 만들 수 있어, 여러가지 브라우저 의존을 신경쓰지 않고 최신의 기술을 사용할 수 있어, 상당히 즐겁기 때문에 앞으로 잠깐 사용해 가려고 생각합니다.
Reference
이 문제에 관하여(Electron+Vue에서 가상 화폐의 판 정보 보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tadko/items/58386dc437169573ef3c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
프런트 엔드는 Vue.js를 사용하여 만들고 싶으므로 Electron에 Vue.js가 들어있는 보일러 플레이트 electron-vue를 사용하여 프로젝트를 만들려고합니다.
electron-vue는 일본어 문서하지만, 충실하고 있기 때문에 그쪽을 보는 것이 빠르다든지 있습니다만, 아래와 같이 vue-cli를 인스톨 해, vue init로 환경이 곧 만들 수 있습니다.
# vue-cliをインストール
npm install -g vue-cli
# プロジェクト作成
vue init simulatedgreg/electron-vue my-project
# 依存関係をインストールして実行
cd my-project
yarn # or npm install
yarn run dev # or npm run dev
표시되었습니다!
Bitflyer Lightning API 키 획득
Bitflyer Lightning 개발자 페이지에서 API 키와 API 비밀을 발행합니다.
Bitflyer의 API 문서는 아래에 있습니다.
htps : // ぃght 마늘 g. tfぇr. jp/두 cs
예를 들어, 이번에 취득하고 싶은 판 정보의 경우라면, 다음과 같이 간단하게 취득할 수 있습니다.
var request = require('request');
var url = 'https://api.bitflyer.jp/v1/board';
request(url, function (err, response, payload) {
console.log(payload);
});
라고 써 주목했지만, Bitflyer의 API에는, API 키에 의한 인증이 불필요한 HTTP Public API 와, 인증이 필요한 HTTP Private API 가 있어, 이번 판 정보와 같은 Public인 API를 사용하는 것만이라면 , API 키는 필요하지 않습니다. . .
구현
먼저 프로젝트를 열고 router를 수정하고 판 정보 표시용 페이지로의 라우팅을 작성합니다.
router/index.jsimport Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)
export default new Router({
routes: [
{
path: '/',
name: 'btc',
component: require('@/components/Btc').default
},
{
path: '*',
redirect: '/'
}
]
})
다음으로, 판 정보 표시용의 페이지를 작성합니다.
Btc.vue<template>
<main>
<section class="section">
<div class="container">
<h1 class="title">Bitcoin ask/bid volume</h1>
<board></board>
</div>
</section>
</main>
</template>
<script>
import Board from './Btc/Board'
export default {
name: 'btc',
components: { Board }
}
</script>
다음으로, 판 정보 표시용의 컴퍼넌트를 작성합니다.
※Bitflyer의 API는, 위쪽에서 예시한 것처럼 간단하게 사용할 수 있습니다만, 코드에서는 API를 랩 해 모듈화해 사용하도록 하고 있습니다.
※덧붙여 생략했습니다만, CSS는 vuejs+bulma인 buefy 도 인스톨 하고 있습니다.
Btc/Board.vue<template>
<div class="is-size-7">
<b-table
:data="asks"
:narrowed="true"
:bordered="true">
<template slot-scope="props">
<b-table-column label="size (Ask)" width="120" numeric class="has-text-success">
{{ props.row.size.toFixed(8) }}
</b-table-column>
<b-table-column label="price" width="100" numeric centered>
{{ props.row.price.toLocaleString() }}
</b-table-column>
<b-table-column label="" width="120">
</b-table-column>
</template>
</b-table>
<b-table
:data="bids"
:narrowed="true"
:bordered="true">
<template slot-scope="props">
<b-table-column label="" width="120" numeric>
</b-table-column>
<b-table-column label="price" width="100" numeric centered>
{{ props.row.price.toLocaleString() }}
</b-table-column>
<b-table-column label="size (Bid)" width="120" class="has-text-danger">
{{ props.row.size.toFixed(8) }}
</b-table-column>
</template>
</b-table>
</div>
</template>
<script>
import { BitFlyerClient } from '@tadko/bitflyer-client'
export default {
name: 'board',
mounted () {
this.$nextTick(function () {
const bitflyerClient = new BitFlyerClient(process.env.BITFLYER_KEY, process.env.BITFLYER_SECRET)
window.setInterval(() => {
bitflyerClient.getBoard()
.then((board) => {
this.asks = board.asks.slice(0, 10).reverse()
this.bids = board.bids.slice(0, 10)
})
.catch(console.error)
},
3000)
})
},
data () {
return {
bids: [],
asks: []
}
}
}
</script>
실행하면 실시간으로 Bitflyer의 BTC 보드 정보가 표시됩니다.
마지막으로
Electron은, 웹의 기술만으로 데스크탑 앱을 만들 수 있어, 여러가지 브라우저 의존을 신경쓰지 않고 최신의 기술을 사용할 수 있어, 상당히 즐겁기 때문에 앞으로 잠깐 사용해 가려고 생각합니다.
Reference
이 문제에 관하여(Electron+Vue에서 가상 화폐의 판 정보 보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tadko/items/58386dc437169573ef3c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
var request = require('request');
var url = 'https://api.bitflyer.jp/v1/board';
request(url, function (err, response, payload) {
console.log(payload);
});
먼저 프로젝트를 열고 router를 수정하고 판 정보 표시용 페이지로의 라우팅을 작성합니다.
router/index.js
import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)
export default new Router({
routes: [
{
path: '/',
name: 'btc',
component: require('@/components/Btc').default
},
{
path: '*',
redirect: '/'
}
]
})
다음으로, 판 정보 표시용의 페이지를 작성합니다.
Btc.vue
<template>
<main>
<section class="section">
<div class="container">
<h1 class="title">Bitcoin ask/bid volume</h1>
<board></board>
</div>
</section>
</main>
</template>
<script>
import Board from './Btc/Board'
export default {
name: 'btc',
components: { Board }
}
</script>
다음으로, 판 정보 표시용의 컴퍼넌트를 작성합니다.
※Bitflyer의 API는, 위쪽에서 예시한 것처럼 간단하게 사용할 수 있습니다만, 코드에서는 API를 랩 해 모듈화해 사용하도록 하고 있습니다.
※덧붙여 생략했습니다만, CSS는 vuejs+bulma인 buefy 도 인스톨 하고 있습니다.
Btc/Board.vue
<template>
<div class="is-size-7">
<b-table
:data="asks"
:narrowed="true"
:bordered="true">
<template slot-scope="props">
<b-table-column label="size (Ask)" width="120" numeric class="has-text-success">
{{ props.row.size.toFixed(8) }}
</b-table-column>
<b-table-column label="price" width="100" numeric centered>
{{ props.row.price.toLocaleString() }}
</b-table-column>
<b-table-column label="" width="120">
</b-table-column>
</template>
</b-table>
<b-table
:data="bids"
:narrowed="true"
:bordered="true">
<template slot-scope="props">
<b-table-column label="" width="120" numeric>
</b-table-column>
<b-table-column label="price" width="100" numeric centered>
{{ props.row.price.toLocaleString() }}
</b-table-column>
<b-table-column label="size (Bid)" width="120" class="has-text-danger">
{{ props.row.size.toFixed(8) }}
</b-table-column>
</template>
</b-table>
</div>
</template>
<script>
import { BitFlyerClient } from '@tadko/bitflyer-client'
export default {
name: 'board',
mounted () {
this.$nextTick(function () {
const bitflyerClient = new BitFlyerClient(process.env.BITFLYER_KEY, process.env.BITFLYER_SECRET)
window.setInterval(() => {
bitflyerClient.getBoard()
.then((board) => {
this.asks = board.asks.slice(0, 10).reverse()
this.bids = board.bids.slice(0, 10)
})
.catch(console.error)
},
3000)
})
},
data () {
return {
bids: [],
asks: []
}
}
}
</script>
실행하면 실시간으로 Bitflyer의 BTC 보드 정보가 표시됩니다.
마지막으로
Electron은, 웹의 기술만으로 데스크탑 앱을 만들 수 있어, 여러가지 브라우저 의존을 신경쓰지 않고 최신의 기술을 사용할 수 있어, 상당히 즐겁기 때문에 앞으로 잠깐 사용해 가려고 생각합니다.
Reference
이 문제에 관하여(Electron+Vue에서 가상 화폐의 판 정보 보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tadko/items/58386dc437169573ef3c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Electron+Vue에서 가상 화폐의 판 정보 보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tadko/items/58386dc437169573ef3c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)