From 305132d8440439a28b4a43ad71adc7544a65b68b Mon Sep 17 00:00:00 2001 From: Sebas <157399509+SebasGuaquetaRSK@users.noreply.github.com> Date: Fri, 13 Dec 2024 16:06:25 -0500 Subject: [PATCH] Merge pull request #69 from rsksmart/devportalAutoImplem Devportal auto implementation on main branch --- .github/workflows/devportal-update.yml | 11 +++++++++-- README.md | 7 ++++--- img/rootstock-docs.png | Bin 0 -> 14838 bytes rootstock-logo.png => img/rootstock-logo.png | Bin 4 files changed, 13 insertions(+), 5 deletions(-) create mode 100644 img/rootstock-docs.png rename rootstock-logo.png => img/rootstock-logo.png (100%) diff --git a/.github/workflows/devportal-update.yml b/.github/workflows/devportal-update.yml index ca99277..c80ceec 100644 --- a/.github/workflows/devportal-update.yml +++ b/.github/workflows/devportal-update.yml @@ -31,6 +31,9 @@ jobs: run: | mkdir -p transformed + # Remove the unwanted lines from README.md + tail -n +3 README.md > temp_README.md + # Process README.md echo "---" > transformed/README.md echo "sidebar_label: Bitcoin Transaction Solidity Helper Library" >> transformed/README.md @@ -44,7 +47,11 @@ jobs: echo "If you wish to suggest changes on this document, please open a PR on the [Bitcoin Transaction Solidity Helper](https://github.com/rsksmart/btc-transaction-solidity-helper.git)" >> transformed/README.md echo ":::" >> transformed/README.md echo "" >> transformed/README.md - cat README.md >> transformed/README.md + cat temp_README.md >> transformed/README.md + + # Clean up temporary file + rm temp_README.md + cp transformed/README.md devportal/docs/02-developers/08-libraries/bitcoin-tx-solidity-helper.md # Step 3: Commit and Push Changes to Devportal Repository @@ -71,4 +78,4 @@ jobs: -H "Authorization: Bearer ${{ secrets.DEVPORTAL_DOCS_UPDATE_TOKEN }}" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/rsksmart/devportal/pulls \ - -d '{"title":"Automated update of documentation","body":"This PR updates the Devportal documentation with the latest changes from the original repository.","head":"update-from-btc-transaction-solidity-helper","base":"main"}' \ No newline at end of file + -d '{"title":"Btc-transaction-solidity-helper automated update of documentation","body":"This PR updates the Devportal documentation with the latest changes from the original repository.","head":"update-from-btc-transaction-solidity-helper","base":"main"}' \ No newline at end of file diff --git a/README.md b/README.md index edeabb3..00624b7 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ [![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/rsksmart/btc-transaction-solidity-helper/badge)](https://scorecard.dev/viewer/?uri=github.com/rsksmart/btc-transaction-solidity-helper) +RSK Logo -RSK Logo -# btc-transaction-solidity-helper +# BTC Transaction Solidity Helper Bitcoin, a decentralized digital currency, serves as both a store of value and a means of transferring wealth. Its security is rooted in the blockchain, a distributed ledger maintained by a network of miners. These miners expend significant computational power and energy to create new blocks, which are added to the blockchain every 10 minutes. The more hashing power contributed by miners, the more secure the network becomes. [Learn more about Bitcoin](https://developer.bitcoin.org/index.html). @@ -105,6 +105,7 @@ require(expectedValue <= outputs[0].value, "incorrect amount"); The value field of the output structure is in satoshis. ::: + ## Hashing Transactions The hash algorithm used in the Bitcoin Network is just the `SHA256(SHA256())` of the serialized transaction. The library exposes one function that will apply this hash algorithm to any byte array passed to it, making it easy to calculate the transaction id of any raw transaction present in the contract. @@ -174,4 +175,4 @@ Congratulations, we have successfully learnt how to use the Solidity Helper libr * Please refer to the Rootstock Contribution Guidelines for more information on how to contribute to this project. ## License: -MIT License - Copyright (c) 2023 Rootstock +MIT License - Copyright (c) 2023 Rootstock diff --git a/img/rootstock-docs.png b/img/rootstock-docs.png new file mode 100644 index 0000000000000000000000000000000000000000..946107cb03c747d1d7d4291d4a36db77cbbcb604 GIT binary patch literal 14838 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