DDC開發常見問題答疑(二)

BSN研習社發表於2022-04-06

id:BSN_2021

公眾號:BSN研習社


2022年1月25日,區塊鏈服務網路發展聯盟上線推出了“BSN-DDC基礎網路”並進入試商用階段。同時,BSN-DDC官網門戶(ddc.bsnbase.com)上線釋出,供DDC/NFT業務方進行“平臺方”的註冊申請。


截止當前,BSN-DDC基礎網路已上線執行二個月,開發者在使用過程中,也提出了不少的問題。此前,BSN研習社已釋出過一期《DDC開發常見問題答疑》,下面是BSN技術支援人員最新總結的常見問題(FAQ)。


問:建立鏈賬戶時平臺賬戶和終端賬戶有什麼區別?


答:平臺方賬戶可以管理終端賬戶的狀態,可以在DDC-SDK裡對終端使用者進行充值。


問:使用官方DDC-SDK生成DDC時,裡面的sender和to都是指的什麼?


答:使用官方DDC-SDK生成DDC時,裡面的sender賬戶是用來支付本次交易所需要消耗的能量值和業務費的,to賬戶指的是將DDC生成至哪個賬戶下。


問:ddcURI可以進行修改嗎或setDDCURI什麼情況下可以用?


答:如果擁有者在第一次生成DDC時ddcURI為空,生成之後該DDC的擁有者和授權者就可以使用setDDCURI方法進行ddcURI的賦值,如果ddcURI已經有值了就不可以再修改了。


問:1155DDC詳情裡面的ddcPubTotal欄位是指什麼,轉移後該欄位會變嗎? 


答:1155DDC詳情裡面的ddcPubTotal欄位是這個1155DDC發行的總數量,這個數量不會變。


問:BSN-BASE門戶建立的鏈賬戶能呼叫官方DDC合約嗎?


答:BSN-BASE門戶建立的鏈賬戶不能呼叫官方DDC合約,DDC門戶建立的鏈賬戶即可以呼叫官方DDC合約,也可以呼叫自己部署的DDC合約或其他合約。


問:DDC門戶和BSN-BASE門戶中的資金賬戶通用嗎?


答:DDC門戶和BSN-BASE門戶中的資金賬戶是兩套體系,兩者不能通用。


問:進行交易之後,如何判斷交易成功了?


答:除中移鏈以外根據交易hash獲取交易資料中的交易狀態,根據交易狀態判斷交易是否成功(文昌鏈、武漢鏈status為0x1時為成功、泰安鏈status為0x0時為成功)。中移鏈呼叫getInfo方法檢視head_block_num是否大於mint之後返回的塊高,大於則表示上鍊成功。


問:mint之後如何獲取DDCID?


答:根據交易所在的塊號,呼叫blockEventService.getBlockEvent方法查這個塊中的事件,如DDC721TransferEventBean中有DDCID。


問:使用武漢鏈DDC-SDK報“already known”,是什麼原因?


答:是因為頻繁呼叫介面進行交易,nonce值重複,解決方案就是每次交易時間隔一段時間或是每次提交交易都設定nonce值,如RequestOptions requestOptions = RequestOptions.builder()

        .setNonce(2)

        .build();


問:使用武漢鏈DDC-SDK報“nonce too low”,是什麼原因?


答:1、transactionSignature中設定的的privateKey是否是sender的privateKey


2、nonce值重複,每次交易時在options中設定nonce的值,如RequestOptions requestOptions = RequestOptions.builder()

        .setNonce(2)

        .build();


問:使用武漢鏈DDC-SDK時報“2001 Unauthorized”是什麼原因?


答:檢查setGatewayUrl設定的閘道器地址是否正確,應該為[專案ID]/rpc。


問:武漢鏈根據交易hash獲取交易資料時返回“Both rpc err and result are null”是為什麼(或交易一直pending)?


答:1、根據eth_getTransactionByHash方法獲取交易資訊,檢視到前交易資訊,發現交易未落塊,說明交易還在pending狀態


2、檢查設定的gasPrice,如果gasPrice設定的太小,交易就會一直在等待打包,查詢到pending交易的nonce值,提高gasPrice之後,重新發起交易。


3、設定了nonce值,但是nonce值不是從1開始遞增的(或是nonce值不是連續的),交易就會一直pending,要補齊nonce值缺失的交易。可以根據eth_getTransactionCount方法可以檢視當前交易的nonce值。


問:武漢鏈DDC-SDK中的gasPrice怎麼設定合適?


答:使用eth_gasPrice方法,獲取當前鏈上的平均gasPrice值,設定在這個值上下就可以。


問:武漢鏈DDC-SDK中的gasLimit怎麼設定合適?


答:gasLimit可以根據eth_estimateGas計算下,然後gasLimit比這個值大就可以,如不會計算設定個特別大的值就可以。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70012206/viewspace-2885806/,如需轉載,請註明出處,否則將追究法律責任。

相關文章