一款啟發自電影「天能」的遊戲,藉由穿梭不同的時間流完成任務。文章最後有附上連結(也有PC版本),有興趣的可以玩玩看。
Etherum Network Status是一個非常方便,能及時查看乙太坊網路整體狀態的一個網頁,本篇會介紹如何自己架一個可以看自己私有鏈狀態的Etherum Network Status
我的環境
底下的建置步驟是我參考兩個Github網頁並自己測試成功
cd ~
git clone https://github.com/cubedro/eth-netstats
cd eth-netstats
npm install
sudo npm install -g grunt-cli
grunt
之前專案有實作Java-Http-Request,以下紀錄分享
curl -s -X POST \
http://localhost:4000 \
-H "authorization: Bearer token" \
-H "content-type: application/json" \
-d '{
"fcn":"fcn",
"args":["a","b"]
}'
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.StandardCharsets;
class TempController {
def send(){
String body = '{"fcn":"fcn","args":["a","b"]}'
String auth = "Bearer token"
String urlParameters = body;
byte[] postData = urlParameters.getBytes( StandardCharsets.UTF_8 );
int postDataLength = postData.length;
String checkurl = "http://localhost:4000";
try{
URL connectto = new URL(checkurl);
HttpURLConnection conn = (HttpURLConnection) connectto.openConnection();
conn.setRequestMethod( "POST" );
conn.setRequestProperty( "Content-Length", Integer.toString( postDataLength ));
conn.setRequestProperty( "authorization", auth);
conn.setRequestProperty( "Content-Type", "application/json");
conn.setRequestProperty( "charset", "utf-8");
conn.setUseCaches(false);
conn.setAllowUserInteraction(false);
conn.setInstanceFollowRedirects( false );
conn.setDoOutput( true );
DataOutputStream wr = new DataOutputStream(conn.getOutputStream());
wr.writeBytes(urlParameters);
wr.flush();
wr.close();
int responseCode = conn.getResponseCode();
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
StringBuilder sb = new StringBuilder();
String line;
while ((line = br.readLine()) != null) {
sb.append(line+"\n");
}
br.close();
//輸出結果
System.out.println(sb);
}catch (IOException e){
e.printStackTrace();
}
}
}
Timeout的核心部分引用Versatility Werks的程式碼jTimeout.js(程式碼貼於此文章最下方),Html頁面實作則分三部分
<script src="your_js_path/jTimeout.js"></script>
<script>
$(function(){
$.jTimeout({
/* 10分鐘Timeout */
'onClickExtend': function(jTimeout){
window.localStorage.timeoutCountdown = 600
$('#consTime').text( 600 );
},
/* 倒數60秒後不延長則Timeout,秒數設定在jTimeout的secondsPrior參數 */
'onPriorCallback': function(timeout, seconds){
timeout.options.extendOnMouseMove=false;
timeout.mouseMoved = true;
$("#timeoutModal").modal('show');
},
/* 滑鼠移動延長Session設定為False */
'extendOnMouseMove': false,
/* 時間到會觸發的url */
'onTimeout': function(timeout){
/* Force logout */
window.location.href="logout_url";
}
});
var timer,
setTimer = function(){
timer = window.setInterval(function(){
$('#curTime').val( window.localStorage.timeoutCountdown );
$('#consTime').text( window.localStorage.timeoutCountdown );
}, 1000);
};
setTimer();
});
</script>
需要根據環境客製化的有
去年幾乎都是在研究Ethereum,去實現與實作DAPP與Smart Contract。但從今年年初開始,因為工作方面需要,而開始大量研究Hyperledger Fabric,不利用雲端去建立Fabric的架構與客製化ChainCode並測試。所以之後有關Hyperledger的文章會多點,Ethereum會減少許多。
Hyperledger Fabric與Ethereum差別非常的大,畢竟兩者一開始設計的目標就是不同,一個是給企業開發使用,一個是給一般大眾使用。Hyperledger Fabric最主要的幾個服務功能,也就是會封裝成Docker去運行的功能有Orderer,CA,Peer,更進階的Kafka機制則會多增加Zookeeper,Kafka
請先參考Hyperledger Fabric範例網站https://hyperledger-fabric.readthedocs.io/en/release-1.0/,裝好所有環境(GOLANG,DOCKER,DOCKER-COMPOSE,NODEJS)