All Projects → 0xB10C → rawtx

0xB10C / rawtx

Licence: BSD-3-Clause license
A Golang module that helps you answer questions about raw Bitcoin transactions, their inputs, outputs and scripts.

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to rawtx

passport
A Kotlin-based Android view validation library with a simple DSL.
Stars: ✭ 31 (+158.33%)
Mutual labels:  input
rich input
Rich input box, implement @Someone and subject with color highlighting
Stars: ✭ 58 (+383.33%)
Mutual labels:  input
placeholder-animated
Input com placeholder animado, cujo funcionamento é semelhante ao login do Google
Stars: ✭ 19 (+58.33%)
Mutual labels:  input
Stack
A Type-Safe, Thread-Safe-ish approach to CoreData in Swift
Stars: ✭ 47 (+291.67%)
Mutual labels:  transaction
react-native-input-prompt
A cross-platform user input prompt component for React Native with Native UI.
Stars: ✭ 45 (+275%)
Mutual labels:  input
file-upload-with-preview
🖼 Simple file-upload utility that shows a preview of the uploaded image. Written in TypeScript. No dependencies. Works well with or without a framework.
Stars: ✭ 406 (+3283.33%)
Mutual labels:  input
OutputKit
For making nicer looking Shortcuts
Stars: ✭ 27 (+125%)
Mutual labels:  output
factomjs
Javascript library to build applications on the Factom blockchain.
Stars: ✭ 23 (+91.67%)
Mutual labels:  transaction
react-simple-range
🔉 React slider component for inputting a numeric value within a range.
Stars: ✭ 20 (+66.67%)
Mutual labels:  input
dynamic-input-fields-reactjs
Example of the dynamic input fields in ReactJS
Stars: ✭ 31 (+158.33%)
Mutual labels:  input
puts debuggerer
Ruby library for improved puts debugging, automatically displaying bonus useful information such as source line number and source code.
Stars: ✭ 82 (+583.33%)
Mutual labels:  output
activeadmin-ajax filter
AJAX filters for ActiveAdmin
Stars: ✭ 86 (+616.67%)
Mutual labels:  input
angular-code-input
Code (number/chars/otp/password) input component for angular 7, 8, 9, 10, 11, 12+ projects including Ionic 4, 5 +
Stars: ✭ 112 (+833.33%)
Mutual labels:  input
LEAmountInputView
Amount Input View (inspired by Square's design)
Stars: ✭ 44 (+266.67%)
Mutual labels:  input
read input
A simple CLI tool that asks for user input until the data inputted is valid.
Stars: ✭ 13 (+8.33%)
Mutual labels:  input
dtmcli-php
a php client for distributed transaction framework dtm.
Stars: ✭ 26 (+116.67%)
Mutual labels:  transaction
hookahjs
Add empty/dirty/touched CSS hooks to input and textarea elements automatically (1056 bytes)
Stars: ✭ 21 (+75%)
Mutual labels:  input
sesdashboard
Analytics and activity tracking dashboard for AWS Simple Email Service
Stars: ✭ 36 (+200%)
Mutual labels:  transaction
webpay rails
WebpayRails is an easy solution for integrate Transbank Webpay in Rails applications
Stars: ✭ 16 (+33.33%)
Mutual labels:  transaction
Fog
Pharo Ethereum Driver
Stars: ✭ 19 (+58.33%)
Mutual labels:  transaction

rawtx

A Golang module that helps you answer questions about raw bitcoin transactions, their inputs, outputs and scripts.

Transactions

Transactions can be deserialized from a hex string or from a wire.MsgTx. Based on that following questions can be answered.

Input and Output type

Following is answered:

spends? pays to?
P2PK
P2PKH
P2SH-P2WPKH can't tell
from the rawtx
P2WPKH_V0
P2MS
P2SH
P2SH-P2WSH can't tell
from the rawtx
P2WSH_V0
OP_RETURN can't spend an
OP_RETURN output

Additionally you might ask:

Bitcoin Script

There is a BitcoinScript parser for byte slices build in. A ParsedBitcoinScript is a slice of ParsedOpCodes. It has a String() method which displays the OP codes in a bitcoin developer readable format.

bs1 := BitcoinScript{0x6e, 0x87, 0x91, 0x69, 0xa7, 0x7c, 0xa7, 0x87}
pbs1 := bs1.Parse()
fmt.Println(pbs1.String())
// -> OP_2DUP OP_EQUAL OP_NOT OP_VERIFY OP_SHA1 OP_SWAP OP_SHA1 OP_EQUAL
bs2 = BitcoinScript{byte(OpRETURN), byte(OpDATA2), byte(OpCHECKLOCKTIMEVERIFY), byte(OpDATA12)}
pbs2 = bs2.Parse()
fmt.Println(pbs2.String())
// -> OP_RETURN OP_DATA_2(b10c)

The actual OpCode behind the ParsedOpCode can, but doesn't have to push data. You can check if a ParsedOpCode is

Running tests

Either normal test suit with coverage report in percent.

$ make test
...
PASS
coverage: 100.0% of statements
ok      github.com/0xB10C/rawtx 0.028s

Or with detailed coverage HTML report opened in your browser.

$ make cover
...
PASS
coverage: 100.0% of statements
ok      github.com/0xB10C/rawtx 0.028s
go tool cover -html=count.out

Discalimer

Do not use in consensus related code!

License

rawTx is licensed under a BSD 3-Clause License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].