我正在开发Python版本的SDK。在某些类型转换中,数据应为None,其他则应为字节。但是我不知道如何定义一个变量来保存数据?
我使用protoc
生成python代码,然后创建一个事务对象,然后更新数据script_sig
。在某些情况下,它应该为None
,但是如果我将其设置为None,则会发生错误:TypeError: None has type NoneType, but expected one of: bytes
这是我的代码:
message Transaction {
repeated TxIn vin = 2;
repeated TxOut vout = 3;
}
message TxIn {
OutPoint prev_out_point = 1;
bytes script_sig = 2;
uint32 sequence = 3;
}
for i in range(len(tx.vin)):
if i != index:
tx.vin[index].script_sig = None
else:
tx.vin[index].script_sig = script_pub_key
我该怎么办?谢谢。
答案 0 :(得分:0)
您可以存储空的bytes
对象(b''
),也可以将数据类型更改为optional bytes
:
optional bytes script_sig = 2;