POSTMANでsteemitに画像をアップロードしてみましたsteemCreated with Sketch.

in Steem Japan2 years ago (edited)

こんにちは、@yasuです。

以前に、steemitにdsteemライブラリで投稿する方法を記事にしましたが、broadcast.comment 関数で投稿してみる、今回は、投稿する記事に画像を貼り付けたいと思いました。近いうちに実現できそうです。

すでに公開されている画像であれば、そのURLを使えば良いのですが、今回は、ローカルにあるファイルのアップロードをします。steemitに画像を保存します。

参考記事
ImageHoster
https://developers.steem.io/services/#services-imagehoster

ここでその手順を整理したいと思います。

画像付きの記事をプログラムで投稿する方法

  1. 画像をアップロードする
    格納された画像のURLが返ってきます。
  2. 本文に、画像のURLを記述します。

つまり、2段階なのです。

画像だけ登録することも可能ですね。また、画像のURLを覚えていれば、別の記事にも画像を流用できす。

さて、

今回は、POSTMANでsteemitに画像をアップロードしたときの内容を説明します。
https://www.postman.com/

POSTMANは、疎通確認するのに良いツールです。

アップロードするときのURLは、次の通りです。

POST /<username>/<signature>

ちょっと、すぐには理解できなかったのですが、アカウント名とsignatureが必要なようです。

今回のアカウント名はyasu.pal、そして、signatureは計算で求められます。

計算(node.js版)

const dsteem = require('dsteem')
const crypto = require('crypto')
const fs = require('fs')
const [wif, file] = process.argv.slice(2)
if (!wif || !file) {
    process.stderr.write(`Usage: ./sign.js <posting_wif> <file>\n`)
    process.exit(1)
}
const data = fs.readFileSync(file)
const key = dsteem.PrivateKey.fromString(wif)
const imageHash = crypto.createHash('sha256')
    .update('ImageSigningChallenge')
    .update(data)
    .digest()
process.stdout.write(key.sign(imageHash).toString() + '\n')


signatureは、次のとおりになりました。
2010366d702b9714e5a3bde7f0ae6d23f6480e1351405f57fa992d97e2b85f3bbf2c45f2a228b409dd871a76d4f2bb3b3c0390b8dcaa57e219b401b1180421f56a

したがってURLは、
https://steemitimages.com/yasu.pal/2010366d702b9714e5a3bde7f0ae6d23f6480e1351405f57fa992d97e2b85f3bbf2c45f2a228b409dd871a76d4f2bb3b3c0390b8dcaa57e219b401b1180421f56a

アップロードするファイルは、
body、form-data、キーなし、ファイル指定で、ローカルに格納されているファイルを指定します。

「SEND」して、、、

image.png

正常に処理されると、画像のURLがJSON形式でリターンされます。
{
"url": "https://cdn.steemitimages.com/DQmQwZj6ftPkvNthmCWSxyyZfNqnXqagKCuTfvgpqrXLV1U/image.png"
}

このURLは、いつでも記事の中で使用できます。

今回の内容は、以上です。

POSTMANでは、正常にアップロードできましたが、まだプログラムでは動作検証していません。次は、プログラムで画像をsteemitにアップロードしたいと思います。

https://steemitimages.com/u/yasu/avatar/
https://steemitimages.com/300x0/

ありがとうございました。

いらすとや
steemit サインアップ
steemit 知識
日本語 Steemit Discord (超初心者~誰でも)

image.png

image.png

@yasu.witness は、証人ノードと、seedノードを立ち上げています。STEEMブロックチェーン安定化の寄与となるよう取り組んでいます。また、APIノードの立ち上げに向けて、今は技術を習得しています。30票の1つを与えてくださると嬉しいです。
Simply go to the Steemit Wallet Witness list, scroll to the bottom, and fill in the form:
image.png

Sort:  
 2 years ago 

@yasu さん、こんにちは。

tomoyan.witnessに投票お願いします👇

https://steemitwallet.com/~witnesses

SPデレゲーション報酬

Wintessに投票すると毎日の報酬がアップ!詳しくは👇
https://steemit.com/hive-161179/@japansteemit/sp-delegation-reward-update

💡 アップボートガイド 💡

分からない事は何でも質問して下さい🙇

Coin Marketplace

STEEM 0.19
TRX 0.13
JST 0.029
BTC 58728.31
ETH 3185.59
USDT 1.00
SBD 2.43