当我尝试发送交易时:
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.util.Log;
import android.view.View;
import java.util.ArrayList;
import java.util.List;
public class LineChart2 extends View {
List<items> items = new ArrayList<>();
Paint paintThinBlackLine;
Paint paintThinGrayLines;
Paint paintText;
float padding = 50;
float padding_left = padding * 3;
float padding_text = padding_left/2;
public LineChart2(Context context, List<com.example.viewtest.items> items) {
super(context);
this.items = items;
initPaints();
}
public LineChart2(Context context, AttributeSet attrs) {
super(context, attrs);
initPaints();
}
public LineChart2(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
initPaints();
}
public LineChart2(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
initPaints();
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
int width = MeasureSpec.getSize(widthMeasureSpec);
int height = MeasureSpec.getSize(heightMeasureSpec);
setMeasuredDimension(width,width/2);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// thin lines
for(int i = 1; i < 7; i++){
float paddingbetween = (getHeight()-padding-padding)/6;
canvas.drawLine(padding_left,paddingbetween*i,getWidth()-padding,paddingbetween*i,paintThinGrayLines);
Log.d("HALLO",""+items.size());
//canvas.drawText(String.valueOf(items.get(i).value),padding_text,paddingbetween*i,paintText);
}
}
public void initPaints(){
paintThinBlackLine = new Paint();
paintThinBlackLine.setColor(Color.parseColor("#6FB4B3B3"));
paintThinBlackLine.setStyle(Paint.Style.STROKE);
paintThinBlackLine.setStrokeCap(Paint.Cap.ROUND);
paintThinBlackLine.setStrokeWidth(3);
paintThinGrayLines = new Paint();
paintThinGrayLines.setColor(Color.parseColor("#6FB4B3B3"));
paintThinGrayLines.setStyle(Paint.Style.STROKE);
paintThinGrayLines.setStrokeCap(Paint.Cap.ROUND);
paintThinGrayLines.setStrokeWidth(2);
paintText = new Paint();
paintText.setTextSize(20);
paintText.setColor(Color.parseColor("#FF696969"));
paintText.setTextAlign(Paint.Align.CENTER);
}
我收到以下错误:
0200000001359a74bdcfa7aea6f9f4e4cca17bc870d46269c0f0a6eaa6b5247b8c24f10ba200000000fdfd0047304402203c12558ab599bcbf7dca30b470dd3dd80cca2168f53d8a031818423a612f08b402201c6734b0fa540cc3957be654e00c9c810d7efa01efb3910d99d70dcfafaeebf9014cb3762103a0a6cc874c5f5d0726db4cf2662b99cc67944bde42ea857ce66a3024d233f638ac6300675368210227291539143aa8fb680298371d696fb79b7ce3100ee0e9c8a166e89ce361c4392102eadb538360917f81e7213db80232243c8132a13abea6c2c88ee878cc6008f3f02102502c4c66c19d5b864b529d80798158a7b5d8e9990c8724d7c517e3ecc4ddc7482102d7ba62e857e15ff3110345d815555952148b3cd3c7e141cd446935776a4cba6d54aeffffffff02e8030000000000001976a914f7418c7b078c301f13f6b68ea510d6a1ff419e3388ac282300000000000017a91443f661d060dab7f8fae42434f4165ea24c491c548700000000
我正在用4个字节的SIGNHASH_ALL签名原始事务的hash_256摘要:
mandatory-script-verify-flag-failed (Signature must be zero for failed CHECK(MULTI)SIG operation) (code 16) (code -26)
为什么会这样?我的交易/签名过程中缺少什么?
答案 0 :(得分:0)
对于P2SH来说,redeemScript十六进制进入要签名的交易数据的scriptSig。示例:
0200000001359a74bdcfa7aea6f9f4e4cca17bc870d46269c0f0a6eaa6b5247b8c24f10ba2<# of bytes in Redeemscript><RedeemScript>0000000000ffffffff02e8030000000000001976a914f7418c7b078c301f13f6b68ea510d6a1ff419e3388ac282300000000000017a91443f661d060dab7f8fae42434f4165ea24c491c54870000000001000000