POSTMANでsteemitに画像をアップロードしてみました
こんにちは、@yasuです。
以前に、steemitにdsteemライブラリで投稿する方法を記事にしましたが、broadcast.comment 関数で投稿してみる、今回は、投稿する記事に画像を貼り付けたいと思いました。近いうちに実現できそうです。
すでに公開されている画像であれば、そのURLを使えば良いのですが、今回は、ローカルにあるファイルのアップロードをします。steemitに画像を保存します。
参考記事
ImageHoster
https://developers.steem.io/services/#services-imagehoster
ここでその手順を整理したいと思います。
画像付きの記事をプログラムで投稿する方法
- 画像をアップロードする
格納された画像のURLが返ってきます。 - 本文に、画像の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」して、、、
正常に処理されると、画像のURLがJSON形式でリターンされます。
{
"url": "https://cdn.steemitimages.com/DQmQwZj6ftPkvNthmCWSxyyZfNqnXqagKCuTfvgpqrXLV1U/image.png"
}
このURLは、いつでも記事の中で使用できます。
今回の内容は、以上です。
POSTMANでは、正常にアップロードできましたが、まだプログラムでは動作検証していません。次は、プログラムで画像をsteemitにアップロードしたいと思います。
ありがとうございました。
いらすとや
steemit サインアップ
steemit 知識
日本語 Steemit Discord (超初心者~誰でも)
@yasu.witness は、証人ノードと、seedノードを立ち上げています。STEEMブロックチェーン安定化の寄与となるよう取り組んでいます。また、APIノードの立ち上げに向けて、今は技術を習得しています。30票の1つを与えてくださると嬉しいです。
Simply go to the Steemit Wallet Witness list, scroll to the bottom, and fill in the form:
@yasu さん、こんにちは。
tomoyan.witnessに投票お願いします👇
https://steemitwallet.com/~witnesses
![](https://steemitimages.com/640x0/https://i.imgur.com/UJIIIWO.png)
SPデレゲーション報酬
Wintessに投票すると毎日の報酬がアップ!詳しくは👇
https://steemit.com/hive-161179/@japansteemit/sp-delegation-reward-update
💡 アップボートガイド 💡
分からない事は何でも質問して下さい🙇
![](https://steemitimages.com/640x0/https://i.imgur.com/jT2loCz.png)
![](https://steemitimages.com/640x0/https://i.imgur.com/Fk8AhOW.png)