How to upload data to bsv blockchain with polyglot and bitsv

This time, how to upload data to bsv blockchain with polyglot and bitsv.

What is polyglot and bitsv?

Basically uploading data to the blockchain requires a deep understanding of networks such as p2P, so it is very difficult for engineers who have not programmed since the early days of the Internet.

Polyglot is a Python library that makes it easy to upload various data to the BSV blockchain, even for engineers who do not have enough network knowledge like me.

polyglot won the 3rd place at the 1st BSV Hackathon, and anyone who can use python can easily upload data to the BSV blockchain.

pypi docs:

https://pypi.org/project/bitsv/

https://pypi.org/project/polyglot-bitcoin/

upload data to bsv blockchain with polyglot and bitsv

First install polyglot and bitsv on your Pyhon.

pip install bitsv
pip install polyglot-bitcoin

And if the installation is successful, import them

# import library
import bitsv
import polyglot

prepare a secret key expressed in WIF .Then, check the bitcoinsv that the private key holds with ‘get_balance()’

my_key = bitsv.Key('YourPrivateKeyGoesHere') # Defaults to "main" network
my_key.get_balance()
10000000 # satoshis

First, generate a transaction to send a normal bsv using polyglot and bitsv.Remittance can be specified in either BSV or USD.

# Can include a long list of tuples as outputs
outputs = [ 
           # Donate to AustEcon! (Currency conversion via api)
           ('1PdvVPTzXmo4cSs68HctLUxAdW917UZtC8', 0.10, 'usd'), # $USD 0.10 as bsv
           ('1PdvVPTzXmo4cSs68HctLUxAdW917UZtC8', 0.0001, 'bsv')
           ]
my_key.send(outputs)

Then, I will explain the data upload of the subject. Uploading data to the BSV blockchain will change the protocol used when the data size is 100kb or less or 100kb or more.

This is because the maximum amount of data that the BSV blockchain can upload at one time is 100 kb. For 100kb or less, use the protocol 「b: //」. For 100kb or more, use the protocol 「bcat: //」. (Both were developed by unwriter) This time we will introduce about uploading data under 100kb for the time being.

Image file to be uploaded this time (6kb) ↓

import polyglot
uploader = polyglot.Upload('your private key goes here in WIF format')
# Optional parameters shown for completeness are populated from the file path by default
file = "C:\\Users\\user_name\\Downloads\\xxxxx.jpg"

# Uploading data to the BSV blockchain by b protocol
res = uploader.upload_b(file, media_type=None, encoding=None, file_name=None)

The data upload is now complete.The variable ‘res’ stores the transaction ID of this data upload.

Whether the upload was successful that You can check with the ‘bitstagramhttps://bitstagram.bitdb.network/) ‘ that developed by unwritter, which can check the contents of the image file uploaded with ‘b’.

# Check transaction contents using API of blockchair.com/
import requests
import json

# tx_hash ='c3e42519a7a76e81cdf26470decf2356c21f4e1b2bfacfcc1e409e6ec88cf714'
tx_hash = res['data']['txid']

# Get transaction contents with requests and blockchair.com's API
r = requests.get(
    'https://api.blockchair.com/bitcoin-sv/dashboards/transaction/' + tx_hash)
r = json.loads(r.text)

# Extract binary data uploaded from api response
img_binary = r['data'][tx_hash]['outputs'][1]['script_hex']

# Check the Variable'img_path' with print
print(img_binary)

Uploading data over 100kb with ’bcat’ is a bit cumbersome, so I will explain it later in another article.

reference:

Conclusion

This is how to upload data to BSV blockchain with polyglot.
BSV mined a 2GB big block in the July 2019 update. This is great that neither BTC nor BCH could do.

I don’t know if csw is really Satoshi Nakamoto, the inventor of Bitcoin. However, the BSV he is developing has mined a 2GB big block exceeding the BTC block size of 32MB in 2009 and revived OP_CODE, which was abolished when introducing Segwit, and reviving smart contracts and tokenized.There is no doubt that BSV is on the path that bitcoin was supposed to be.

I am convinced that blockchain was originally aimed at increasing the block size so that it can be scaled, and creating various applications such as Dapps on the blockchain and the Internet itself.

Convenient applications are being developed every day at BitcoinSV by excellent developers including Mr. Unwritter, which is very exciting.

<日本語版>

参照:【Python】BitsvとPolyglotでBitcoinSV(BSV)のブロックチェーンに画像データをアップロード

参照:BitcoinSV(BSV)のブロックチェーンにop_returnで任意のデータを刻み込む

プログラミングの独学はとても難しい


プログラミングは小学校の義務教育にも導入され始めており、これから社会人として生きていく上でプログラミングはもはや出来て当たり前、出来なれば論外というエクセルレベルの必須スキルになりつつあります。そしてそういう話を聞いて参考書なりを購入して独学でプログラミング勉強しようと思っている人も少なくないでしょう。しかしプログラミングを独学で勉強し始めようと思うものの



・「分からない箇所で詰まって挫折してしまった」

・「勉強する時間が足りない」

・「ネットの記事だと情報が断片的でよくわからない」

・「コードのエラーの原因が分からない」



という壁にぶち当たって、プログラミングの勉強を止めてしまう方が少なくありません。独学でプログラミングを勉強してる時間のほとんどはつまづいている時間です。実際僕も最初のころ独学でプログラミングを勉強していた頃はエラーの原因が分からず丸1日を不意にしてしまった・・・そんな苦い経験がありました。



それで僕は一度はプログラミングの学習を諦めてしまいましたが、就活で現実を知る中で「プログラミングを勉強して、いずれフリーランスとして自由な生き方がしたい」「エンジニアとして若いうちから高収入を得たい」という気持ちから一念発起して「侍エンジニアのwebサービスコース」に申し込み、プロのエンジニアの方に対面でマンツーマンでPythonによるWebサービス作り方とWeb技術の基本を教えてもらい、ようやくプログラミングが理解でき、今ではエンジニアとしてそこそこの暮らしができるようになりました。





侍エンジニアでは、とりあえずプログラミングやインターネットの基本を知っておきたい人から、HTML・cssなどでWebサイトやWebアプリを作ってみたい人やPythonを勉強してデータサイエンティストやAIエンジニアになりたい人まで幅広いニーズに応えた様々なコースが用意されています。



IT業界と言ってもエンジニアの仕事はプログラミング言語次第でサーバーから機械学習・ディープラーニングまで多種多様ですし、侍エンジニアの無料レッスン(カウンセリング)を受けてみて、自分のやりたいITの仕事は何なのか?を見つけるのがエンジニアへの第一歩になります。ちなみに今侍エンジニアの無料レッスンを受けると1000円分のAmazonギフト券がもらえるので、試しに受けてみるだけもお得です。


自分は半端に独学やオンラインスクールで勉強して金と時間を無駄にするくらいなら、リアルのプログラミングスクールに通ってしっかりプログラミングを勉強した方がいいと思います。ちなみに今、侍エンジニアに申し込むと、25歳以下の学生の方であれば、受講料が20%OFFになるので超お得です。


そして、プログラミングは大勢で授業を受けたり漫然とオンライン学習をするよりも自分が分からない箇所をピンポイントでプロの講師に直接質問して、ちゃんと納得するというスタイルの方がお金は確かに少し掛かりますが、独学で学ぶよりも絶対にモノになります。


シェアする

  • このエントリーをはてなブックマークに追加

フォローする