Skip to content

Instantly share code, notes, and snippets.

View jimmychu0807's full-sized avatar
🎯
Focusing

Jimmy Chu jimmychu0807

🎯
Focusing
View GitHub Profile
@jimmychu0807
jimmychu0807 / Markdium-Shell.bash
Created March 4, 2020 11:58
Markdium-用 Polkadot-JS API 輕鬆搭建 Substrate 前端
yarn add @polkadot/keyring
@jimmychu0807
jimmychu0807 / Markdium-javascript.js
Created March 4, 2020 11:58
Markdium-用 Polkadot-JS API 輕鬆搭建 Substrate 前端
// 引入
import { ApiPromise, WsProvider } from '@polkadot/api';
// 創建 api 對象
const wsProvider = new WsProvider('ws://localhost:9944');
const api = await ApiPromise.create({ provider: wsProvider });
// 簡單測試-讀取常量
console.log(api.consts.balances.transactionByteFee.toNumber());
@jimmychu0807
jimmychu0807 / Markdium-javascript.js
Created March 4, 2020 11:58
Markdium-用 Polkadot-JS API 輕鬆搭建 Substrate 前端
// 從 Alice 提交一個交易給另一用戶
const unsub = await api.tx.balances
.transfer(recipient, 12345)
.signAndSend(alice, ({ eventRecords = [], status }) => {
console.log(`Current status is ${status.type}`);
if (status.isInBlock) {
console.log(`Transaction included at blockHash ${status.asInBlock}`);
} else if (status.isFinalized) {
console.log(`Transaction finalized at blockHash ${status.asFinalized}`);
@jimmychu0807
jimmychu0807 / Markdium-Shell.bash
Created March 4, 2020 11:58
Markdium-用 Polkadot-JS API 輕鬆搭建 Substrate 前端
yarn add @polkadot/api
@jimmychu0807
jimmychu0807 / Markdium-javascript.js
Created March 4, 2020 11:58
Markdium-用 Polkadot-JS API 輕鬆搭建 Substrate 前端
// 初始化 `api` 對象
const api = ...;
// 取得鏈上的時間戳
const now = await api.query.timestamp.now();
// 一個模擬地址
const ADDR = '5DTestUPts3kjeXSTMyerHihn1uwMfLj8vU8sqF7qYrFabHE';
// 取得用戶地址中的餘額
@jimmychu0807
jimmychu0807 / Markdium-javascript.js
Created March 4, 2020 11:58
Markdium-用 Polkadot-JS API 輕鬆搭建 Substrate 前端
// 引入
import { Keyring } from '@polkadot/api';
// 初始化 api
// const api = await ...;
// api 完成初始化後,再創建 keyring 對象。
const keyring = new Keyring({ type: 'sr25519' });
@jimmychu0807
jimmychu0807 / Markdium-javascript.js
Created March 4, 2020 11:58
Markdium-用 Polkadot-JS API 輕鬆搭建 Substrate 前端
const api = await ApiPromise.create({
...,
types: {
Price: {
dollars: 'u32',
cents: 'u32',
currency: 'Vec<u8>',
}
}
});
@jimmychu0807
jimmychu0807 / Markdium-javascript.js
Created March 4, 2020 11:58
Markdium-用 Polkadot-JS API 輕鬆搭建 Substrate 前端
// ...
// 一個模擬地址
const recipient = '5DTestUPts3kjeXSTMyerHihn1uwMfLj8vU8sqF7qYrFabHE';
// Sign and send a transfer from Alice to Bob
const txHash = await api.tx.balances
.transfer(recipient, 12345)
.signAndSend(alice);
@jimmychu0807
jimmychu0807 / Markdium-Shell.bash
Created March 4, 2020 11:58
Markdium-用 Polkadot-JS API 輕鬆搭建 Substrate 前端
yarn add @polkadot/types
@jimmychu0807
jimmychu0807 / Markdium-javascript.js
Created March 4, 2020 11:58
Markdium-用 Polkadot-JS API 輕鬆搭建 Substrate 前端
// 引入一些幫助函數
import { stringToU8a, u8aToHex } from '@polkadot/util';
// 創建信息
const message = stringToU8a('a testing message');
// 簽署信息
const signature = alice.sign(message);
// 覈實信息
const isValid = alice.verify(message, signature);