Please, show the code for wallet3, but in the standard case it won't
recognize the custom tx.
To create the input
tx.addInput(Sha256Hash.wrap("txHash"), index, new
ScriptBuilder().data(matcher).data(sig).data(pubKey).build());
See Wallet.completeTx(), to find an example of how signing a tx works.

Oscar

On Mon, Oct 3, 2016 at 4:26 AM, Ibrahim <[email protected]> wrote:
> Hello everyone,
>
>
> I've recently entered the bitcoin arena, and bitcoinj was my tool choice.
> Experimenting on regression test mode, I was able to create the following
> custom transaction. It has a modified locking script and would need a
> modified unlocking, input, script.
>
> //Sender: sig pubk [dup() hash() pubk equ() chksig() OP_VERIFY() match_me
> eqal()]
> //Receiver: matcher sig pubk [dup() hash() pubk equ() chksig()]
>
> Script locking = new ScriptBuilder()
>
>                         .op(OP_DUP)
>
>                         .op(OP_HASH160)
>
>                         .data(address3.getHash160())
>
>                         .op(OP_EQUALVERIFY)
>
>                         .op(OP_CHECKSIG)
>
>                         .op(OP_VERIFY)/*gets rid of the true left by
> previous checksig*/
>
>                         .data(match_me)/*32bytes to be matched in unlocking
> script*/
>
>                         .op(OP_EQUAL)/*checks the equality of match_me with
> one provided by receiver*/
>
>                         .build();
>
>
> Transaction contract = new Transaction(params);
>
> contract.addOutput(COIN.multiply(25), locking);
> SendRequest req = SendRequest.forTx(contract);
> wallet2.wallet().completeTx(req);
> wallet2.peerGroup().broadcastTransaction(req.tx);
>
>
> Here, I'm trying to create this transaction that won't be spent until the
> receiver provides data that matches 'match_me'. The transaction half
> successfully spends the coins from the sender's wallet, subtracting 25 BTC
> from wallet2. However, wallet3 was still empty even after generating a new
> block.
>
> Transaction:
>   bd52d8ef024715096b5177d581121122dc1ce9f8925c105a496bb290691ba1a7
>   updated: 2016-10-02T23:19:14Z
>      in
> PUSHDATA(72)[3045022100f5664de61bd0c9576d7dd2aaf98f2ba4e60c1013e55a36e62bf1d47c38a0fb5c02206872b35821f05069df5d2302dadc55011e6e6d7569e2e46c655deb9265390f3f01]
> PUSHDATA(33)[035562c04ff3ddb5a8ba566f4cd84c3e47478997ab8730bd923a4260fc9dfe246e]
> 50.00 BTC
>
> outpoint:7738e333b27700e835d3c118444d9f2181033c8d796ca116c66d795140ad64df:1
> hash160:67d4ea4c50e80497380b7eb2f901664dc341db4b
>      out  DUP HASH160 PUSHDATA(20)[d713cf366138ad0d0aac8c148ca724c18a8c4e4d]
> EQUALVERIFY CHECKSIG VERIFY PUSHDATA(16)[e04fd020ea3a6910a2d808002b30309d]
> EQUAL 25.00 BTC
>      out  DUP HASH160 PUSHDATA(20)[2515ad4a14c15cc363796684149fd23ae1c3146e]
> EQUALVERIFY CHECKSIG 24.999877 BTC
>      fee  0.00050204 BTC/kB, 0.000123 BTC for 245 bytes
>      prps USER_PAYMENT
>
> I speculate that it could be the case that wallet3 doesn't recognize the
> custom transaction, so it doesn't include it in its balance. Do you think
> so?
> If I decided to spend the transaction using the txid, how would I create the
> inputs to unlock it? how do I create scriptsig with
> (.data(matcher).data(sig).data(pubkey))?
>
> Thank you
>
> --
> You received this message because you are subscribed to the Google Groups
> "bitcoinj" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.



-- 
Oscar Guindzberg

-- 
You received this message because you are subscribed to the Google Groups 
"bitcoinj" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to