centos8 安裝 docker
https://www.cnblogs.com/zbseoag/p/11736006.htmlposted @ 2020-05-06 12:57 狼愛(ài)上貍 閱讀(400) | 評(píng)論 (3) | 編輯 收藏
我胡漢三又回來(lái)了
2019年11月24日 #
posted @ 2020-05-06 12:57 狼愛(ài)上貍 閱讀(400) | 評(píng)論 (3) | 編輯 收藏
posted @ 2020-04-18 09:45 狼愛(ài)上貍 閱讀(295) | 評(píng)論 (0) | 編輯 收藏
posted @ 2020-03-22 08:22 狼愛(ài)上貍 閱讀(299) | 評(píng)論 (0) | 編輯 收藏
posted @ 2020-03-21 21:43 狼愛(ài)上貍 閱讀(247) | 評(píng)論 (0) | 編輯 收藏
posted @ 2020-03-20 21:52 狼愛(ài)上貍 閱讀(566) | 評(píng)論 (0) | 編輯 收藏
posted @ 2020-03-20 18:53 狼愛(ài)上貍 閱讀(192) | 評(píng)論 (0) | 編輯 收藏
posted @ 2020-03-19 17:10 狼愛(ài)上貍 閱讀(171) | 評(píng)論 (0) | 編輯 收藏
posted @ 2020-03-14 11:01 狼愛(ài)上貍 閱讀(480) | 評(píng)論 (0) | 編輯 收藏
posted @ 2020-03-09 18:20 狼愛(ài)上貍 閱讀(958) | 評(píng)論 (0) | 編輯 收藏
posted @ 2020-03-08 23:21 狼愛(ài)上貍| 編輯 收藏
posted @ 2020-03-07 19:08 狼愛(ài)上貍 閱讀(321) | 評(píng)論 (0) | 編輯 收藏
posted @ 2020-03-07 18:59 狼愛(ài)上貍 閱讀(217) | 評(píng)論 (0) | 編輯 收藏
posted @ 2020-03-03 18:43 狼愛(ài)上貍 閱讀(775) | 評(píng)論 (0) | 編輯 收藏
posted @ 2020-03-03 16:20 狼愛(ài)上貍 閱讀(126) | 評(píng)論 (0) | 編輯 收藏
===============CentOS 7.6================
1.查看系統(tǒng)時(shí)間
date
查看當(dāng)前系統(tǒng)時(shí)間以及時(shí)區(qū)
結(jié)果是:
Mon Jul 8 09:23:31 UTC 2019
2.更改系統(tǒng)時(shí)間時(shí)區(qū)
timedatectl set-timezone Asia/Shanghai
3.再次查看
date
結(jié)果是:
Mon Jul 8 17:25:28 CST 2019
4.可以重啟后查看,防止重啟后失效
reboot
=======================
posted @ 2020-03-02 21:11 狼愛(ài)上貍 閱讀(220) | 評(píng)論 (0) | 編輯 收藏
posted @ 2020-03-02 19:47 狼愛(ài)上貍 閱讀(128) | 評(píng)論 (0) | 編輯 收藏
posted @ 2020-03-02 18:34 狼愛(ài)上貍 閱讀(106) | 評(píng)論 (0) | 編輯 收藏
posted @ 2020-03-01 20:45 狼愛(ài)上貍 閱讀(3091) | 評(píng)論 (0) | 編輯 收藏
Catalina 10.15
系統(tǒng)posted @ 2020-03-01 20:43 狼愛(ài)上貍 閱讀(180) | 評(píng)論 (0) | 編輯 收藏
keytool -genkey -v -keystore ./key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
apk 輸出在:key.properties
storePassword=123456
keyPassword=123456
keyAlias=key
storeFile=C:/Users/Administrator/AndroidStudioProjects/flutter_app/key.jks
build.gradledef localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}
def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
}
def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
flutterVersionName = '1.0'
}
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
def keystorePropertiesFile = rootProject.file("key.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
android {
compileSdkVersion 28
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
lintOptions {
disable 'InvalidPackage'
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.example.flutter_app"
minSdkVersion 16
targetSdkVersion 28
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
//signingConfig signingConfigs.debug
signingConfig signingConfigs.release
}
}
}
flutter {
source '../..'
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
}
posted @ 2020-02-29 11:48 狼愛(ài)上貍 閱讀(347) | 評(píng)論 (0) | 編輯 收藏
posted @ 2020-02-25 18:18 狼愛(ài)上貍 閱讀(150) | 評(píng)論 (0) | 編輯 收藏
posted @ 2020-02-25 12:47 狼愛(ài)上貍 閱讀(947) | 評(píng)論 (0) | 編輯 收藏
2.0.0-rc
posted @ 2020-02-25 12:46 狼愛(ài)上貍 閱讀(404) | 評(píng)論 (0) | 編輯 收藏
posted @ 2020-02-25 11:40 狼愛(ài)上貍 閱讀(141) | 評(píng)論 (0) | 編輯 收藏
posted @ 2020-02-22 16:33 狼愛(ài)上貍 閱讀(339) | 評(píng)論 (0) | 編輯 收藏
posted @ 2020-02-22 14:46 狼愛(ài)上貍 閱讀(257) | 評(píng)論 (0) | 編輯 收藏
此前我的Ubuntu不是wubi方式安裝的,因?yàn)槁?tīng)說(shuō)此方式安裝有多種缺陷,于是我選擇U盤安裝。這時(shí)想要卸載Ubuntu了,想到卸載這個(gè)也會(huì)有些小阻礙,就寫下這篇博文表示記錄一下Ubuntu的正確卸載方法。
在每次開(kāi)機(jī)時(shí)都會(huì)有GURB菜單,這表示寫入到安裝Ubuntu的時(shí)候把GURB寫入到了MBR,所以卸載Ubuntu前首先需要將MBR重寫,去掉Ubuntu的GURB。如果朋友們不進(jìn)行這一步把Ubuntu強(qiáng)行干掉,會(huì)讓windows也直接GG。
重寫MBR有兩種方法:
一、放入Windows的安裝盤,進(jìn)入Windows安裝程序,進(jìn)入恢復(fù)控制臺(tái),輸入命令fixmbr。
二、使用MbrFix工具進(jìn)行修復(fù)。
我選擇的是MbrFix,下載地址:http://www.cnitblog.com/Files/CoffeeCat/MbrFix.rar
下載完成后運(yùn)行命令行,然后進(jìn)入存放MbrFix.exe的目錄下,輸入指令MbrFix /drive 0 fixmbr /yes,重啟就可以直接進(jìn)入windows了。
ps:輸入命令行提示"function failed.error 5:拒絕訪問(wèn)"如何解決?
找到MbrFix.exe,右擊屬性,進(jìn)入兼容性選項(xiàng)卡,勾選"以管理員身份運(yùn)行此程序",確定退出,然后重新輸入指令即可解決。
搞定第一步之后,右鍵我的電腦進(jìn)入管理,磁盤管理,如果是自己安裝的Ubuntu,應(yīng)該知道在安裝的時(shí)候分配了幾個(gè)分區(qū)在此系統(tǒng)上,如果只是雙系統(tǒng),除了Windows下有標(biāo)注卷名的其余應(yīng)該都是Ubuntu的分區(qū)。右鍵Ubuntu分區(qū),刪除卷,標(biāo)注藍(lán)條會(huì)變成綠條,把幾個(gè)分區(qū)全部刪除完成,右鍵新加卷一步一步完成恢復(fù)成為Windows的邏輯分區(qū)了。
來(lái)自:https://www.cnblogs.com/-Yvan/p/4975326.html
posted @ 2020-02-20 18:18 狼愛(ài)上貍 閱讀(1424) | 評(píng)論 (0) | 編輯 收藏
posted @ 2020-02-19 09:46 狼愛(ài)上貍 閱讀(195) | 評(píng)論 (0) | 編輯 收藏
posted @ 2020-02-12 09:37 狼愛(ài)上貍 閱讀(173) | 評(píng)論 (0) | 編輯 收藏
posted @ 2020-02-11 16:37 狼愛(ài)上貍 閱讀(1403) | 評(píng)論 (0) | 編輯 收藏
posted @ 2020-01-16 14:44 狼愛(ài)上貍 閱讀(125) | 評(píng)論 (0) | 編輯 收藏
posted @ 2020-01-12 16:17 狼愛(ài)上貍 閱讀(169) | 評(píng)論 (0) | 編輯 收藏
posted @ 2020-01-04 17:22 狼愛(ài)上貍 閱讀(141) | 評(píng)論 (0) | 編輯 收藏
posted @ 2020-01-03 19:03 狼愛(ài)上貍 閱讀(209) | 評(píng)論 (0) | 編輯 收藏
posted @ 2020-01-03 17:55 狼愛(ài)上貍 閱讀(341) | 評(píng)論 (0) | 編輯 收藏
posted @ 2020-01-01 13:52 狼愛(ài)上貍 閱讀(191) | 評(píng)論 (0) | 編輯 收藏
posted @ 2020-01-01 12:28 狼愛(ài)上貍 閱讀(1618) | 評(píng)論 (0) | 編輯 收藏
posted @ 2020-01-01 12:13 狼愛(ài)上貍 閱讀(171) | 評(píng)論 (0) | 編輯 收藏
posted @ 2019-12-29 22:57 狼愛(ài)上貍 閱讀(193) | 評(píng)論 (0) | 編輯 收藏
posted @ 2019-12-27 14:49 狼愛(ài)上貍 閱讀(273) | 評(píng)論 (0) | 編輯 收藏
posted @ 2019-12-26 16:09 狼愛(ài)上貍 閱讀(152) | 評(píng)論 (0) | 編輯 收藏
posted @ 2019-12-26 15:37 狼愛(ài)上貍 閱讀(114) | 評(píng)論 (0) | 編輯 收藏
posted @ 2019-12-26 15:31 狼愛(ài)上貍 閱讀(228) | 評(píng)論 (0) | 編輯 收藏
posted @ 2019-12-24 10:02 狼愛(ài)上貍 閱讀(641) | 評(píng)論 (0) | 編輯 收藏
posted @ 2019-12-24 10:01 狼愛(ài)上貍 閱讀(510) | 評(píng)論 (0) | 編輯 收藏
posted @ 2019-12-22 00:27 狼愛(ài)上貍 閱讀(99) | 評(píng)論 (0) | 編輯 收藏
最新內(nèi)容會(huì)更新在主站深入淺出區(qū)塊鏈社區(qū)
原文鏈接:Web3與智能合約交互實(shí)戰(zhàn)
在最初學(xué)習(xí)以太坊的時(shí)候,很多人都是自己創(chuàng)建以太坊節(jié)點(diǎn)后,使用geth與之交互。這種使用命令行交互的方法雖然讓很多程序員感到興奮(黑客帝國(guó)的既視感?),但不可能指望普通用戶通過(guò)命令行使用Dapp。因此,我們需要一種友好的方式(比如一個(gè)web頁(yè)面)來(lái)與智能合約交互,于是問(wèn)題的答案就是web3.js
。
Web3.js是以太坊官方的Javascript API,可以幫助智能合約開(kāi)發(fā)者使用HTTP或者IPC與本地的或者遠(yuǎn)程的以太坊節(jié)點(diǎn)交互。實(shí)際上就是一個(gè)庫(kù)的集合,主要包括下面幾個(gè)庫(kù):
web3-eth
用來(lái)與以太坊區(qū)塊鏈和智能合約交互web3-shh
用來(lái)控制whisper協(xié)議與p2p通信以及廣播web3-bzz
用來(lái)與swarm協(xié)議交互web3-utils
包含了一些Dapp開(kāi)發(fā)有用的功能Web3與geth通信使用的是 JSON-RPC ,這是一種輕量級(jí)的RPC(Remote Procedure Call)協(xié)議,整個(gè)通信的模型可以抽象為下圖。
在開(kāi)發(fā)初期,我們并沒(méi)有必要使用真實(shí)的公鏈,為了開(kāi)發(fā)效率,一般選擇在本地搭建測(cè)試鏈。在本文我們選擇的Ganache(在此之前使用的是testrpc,Ganache屬于它的升級(jí)版),一個(gè)圖形化測(cè)試軟件(也有命令行版本),可以一鍵在本地搭建以太坊區(qū)塊鏈測(cè)試環(huán)境,并且將區(qū)塊鏈的狀態(tài)通過(guò)圖形界面顯示出來(lái),Ganache的運(yùn)行界面如下圖所示。
從圖中可以看到Ganache會(huì)默認(rèn)創(chuàng)建10個(gè)賬戶,監(jiān)聽(tīng)地址是http://127.0.0.1:7545
,可以實(shí)時(shí)看到Current Block
、Gas Price
、Gas Limit
等信息。
目前以太坊官方全力支持的智能合約開(kāi)發(fā)環(huán)境是Remix IDE,我們?cè)诤霞s編輯頁(yè)面編寫如下代碼:
pragma solidity ^0.4.21; contract InfoContract { string fName; uint age; function setInfo(string _fName, uint _age) public { fName = _fName; age = _age; } function getInfo() public constant returns (string, uint) { return (fName, age); } }
代碼很簡(jiǎn)單,就是簡(jiǎn)單的給name
和age
變量賦值與讀取,接下來(lái)切換到 run 的 tab 下,將Environment
切換成Web3 Provider
,并輸入我們的測(cè)試鏈的地址http://127.0.0.1:7545
,這里對(duì)這三個(gè)選項(xiàng)做一簡(jiǎn)單說(shuō)明:
Javascript VM
:簡(jiǎn)單的Javascript虛擬機(jī)環(huán)境,純粹練習(xí)智能合約編寫的時(shí)候可以選擇Injected Web3
:連接到嵌入到頁(yè)面的Web3,比如連接到MetaMaskWeb3 Provider
:連接到自定義的節(jié)點(diǎn),如私有的測(cè)試網(wǎng)絡(luò)。如果連接成功,那么在下面的Account
的選項(xiàng)會(huì)默認(rèn)選擇 Ganache 創(chuàng)建的第一個(gè)賬戶地址。接下來(lái)我們點(diǎn)擊Create
就會(huì)將我們的智能合約部署到我們的測(cè)試網(wǎng)中。接下來(lái) Remix 的頁(yè)面不要關(guān)閉,在后面編寫前端代碼時(shí)還要用到合約的地址以及ABI
信息。
在這之前,先在終端創(chuàng)建我們的項(xiàng)目:
> mkdir info > cd info
接下來(lái)使用 node.js 的包管理工具 npm 初始化項(xiàng)目,創(chuàng)建package.json
文件,其中保存了項(xiàng)目需要的相關(guān)依賴環(huán)境。
> npm init
一路按回車直到項(xiàng)目創(chuàng)建完成。最后,運(yùn)行下面命令安裝web.js:
> npm install web3
注意: 在實(shí)際安裝過(guò)程中我發(fā)現(xiàn)web3在安裝完成后并沒(méi)有
/node_modules/web3/dist/we3.min.js
文件,這個(gè)問(wèn)題在 issue#1041中有體現(xiàn),但官方好像一直沒(méi)解決。不過(guò)可以在這里下載所需的文件,解壓后將dist
文件夾的內(nèi)容拷貝到/node_modules/web3
路徑下。
在項(xiàng)目目錄下創(chuàng)建index.html
,在這里我們將創(chuàng)建基礎(chǔ)的 UI,功能包括name
和age
的輸入框,以及一個(gè)按鈕,這些將通過(guò) jQuery 實(shí)現(xiàn):
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <link rel="stylesheet" type="text/css" href="main.css"> <script src="./node_modules/web3/dist/web3.min.js"></script> </head> <body> <div class="container"> <h1>Info Contract</h1> <h2 id="info"></h2> <label for="name" class="col-lg-2 control-label">Name</label> <input id="name" type="text"> <label for="name" class="col-lg-2 control-label">Age</label> <input id="age" type="text"> <button id="button">Update Info</button> </div> <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script> <script> // Our future code here.. </script> </body> </html>
接下來(lái)需要編寫main.css
文件設(shè)定基本的樣式:
body { background-color:#F0F0F0; padding: 2em; font-family: 'Raleway','Source Sans Pro', 'Arial'; } .container { width: 50%; margin: 0 auto; } label { display:block; margin-bottom:10px; } input { padding:10px; width: 50%; margin-bottom: 1em; } button { margin: 2em 0; padding: 1em 4em; display:block; } #info { padding:1em; background-color:#fff; margin: 1em 0; }
UI 創(chuàng)建好之后,在<script>
標(biāo)簽中間編寫web.js
的代碼與智能合約交互。首先創(chuàng)建web3
實(shí)例,并與我們的測(cè)試環(huán)境連接:
<script> if (typeof web3 !== 'undefined') { web3 = new Web3(web3.currentProvider); } else { // set the provider you want from Web3.providers web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:7545")); } </script>
這段代碼是web3.js Github提供的樣例,意思是如果web3
已經(jīng)被定義,那么就可以直接當(dāng)作我們的 provider 使用。如果沒(méi)有定義,則我們手動(dòng)指定 provider。
這里可能會(huì)存在疑問(wèn):為什么 web3 會(huì)被事先定義呢?實(shí)際上,如果你使用類似 MetaMask(一個(gè) Chrome 上的插件,迷你型以太坊錢包)這樣的軟件,provider 就會(huì)被自動(dòng)植入。
在上面代碼的基礎(chǔ)上,接下來(lái)設(shè)置默認(rèn)的以太坊賬戶:
web3.eth.defaultAccount = web3.eth.accounts[0];
在上文中我們使用 Ganache 已經(jīng)創(chuàng)建了 10 個(gè)賬戶了,這里我們選擇第一個(gè)賬戶當(dāng)作默認(rèn)賬戶。
接下來(lái)需要讓我們的web3
知道我們的合約是什么樣的,這里需要用到合約的 ABI(Application Binary Interface)。ABI
可以使我們調(diào)用合約的函數(shù),并且從合約中獲取數(shù)據(jù)。
在上文中我們已經(jīng)在 Remix 中創(chuàng)建了我們的合約,這時(shí)重新回到 Remix,在 Compile 的 tab 下我們點(diǎn)擊Details
出現(xiàn)的頁(yè)面中我們可以拷貝合約的ABI
,如下圖所示。
將其復(fù)制到代碼中:
var infoContract = web3.eth.contract(PASTE ABI HERE!);
接下來(lái)轉(zhuǎn)到 run 的tab,拷貝合約的地址,將其復(fù)制到下面的代碼中:
var info = InfoContract.at('PASTE CONTRACT ADDRESS HERE');
完成這些我們就可以調(diào)用合約中的函數(shù)了,下面我們使用 jQuery 與我們的合約進(jìn)行交互:
info.getInfo(function(error, result){ if(!error) { $("#info").html(result[0]+' ('+result[1]+' years old)'); console.log(result); } else console.error(error); }); $("#button").click(function() { info.setInfo($("#name").val(), $("#age").val()); });
以上的代碼就簡(jiǎn)單地實(shí)現(xiàn)了對(duì)合約中兩個(gè)函數(shù)的調(diào)用,分別讀取和顯示name
和age
變量。
到此我們就完成了全部的代碼,完整代碼可以在 InfoContract 中找到。在瀏覽器中打開(kāi)index.html
測(cè)試效果如下圖(輸入名字和年齡后刷新)。
本文的作者是蓋蓋,他的微信公眾號(hào): chainlab
☛ 深入淺出區(qū)塊鏈 - 系統(tǒng)學(xué)習(xí)區(qū)塊鏈,打造最好的區(qū)塊鏈技術(shù)博客。
posted @ 2019-12-21 14:46 狼愛(ài)上貍 閱讀(186) | 評(píng)論 (0) | 編輯 收藏
posted @ 2019-12-21 10:14 狼愛(ài)上貍 閱讀(131) | 評(píng)論 (0) | 編輯 收藏
GitHub 在開(kāi)源世界的受歡迎程度自不必多言。再加上前陣子,GitHub 官方又搞了個(gè)大新聞:私有倉(cāng)庫(kù)改為免費(fèi)使用,這在原來(lái)可是需要真金白銀的買的??梢?jiàn)微軟收購(gòu)后,依然沒(méi)有改變 GitHub 的定位,甚至還更進(jìn)一步。
花開(kāi)兩朵,各表一枝。我們今天想要聊的并不是 GitHub 多么厲害,而是你怎么能把 GitHub 用得很厲害。
你在 GitHub 上搜索代碼時(shí),是怎么樣操作的呢?是不是就像這樣,直接在搜索框里輸入要檢索的內(nèi)容,然后不斷在列表里翻頁(yè)找自己需要的內(nèi)容?
或者是簡(jiǎn)單篩選下,在左側(cè)加個(gè)語(yǔ)言的過(guò)濾項(xiàng)。
再或者改變一下列表的排序方式
這就是「全部」了嗎?
一般的系統(tǒng)檢索功能,都會(huì)有一個(gè)「高級(jí)搜索」的功能。需要在另外的界面里展開(kāi),進(jìn)行二次搜索之類的。 GitHub 有沒(méi)有類似的呢?
答案是肯定的。做為一個(gè)為萬(wàn)千工程師提供服務(wù)的網(wǎng)站,不僅要有,而且還要技術(shù)范兒。
如果我們自己開(kāi)發(fā)一個(gè)類似的應(yīng)用,會(huì)怎樣實(shí)現(xiàn)呢?
帶著思路,咱們一起來(lái)看看,GitHub 是怎樣做的。
這里我們假設(shè)正要學(xué)習(xí) Spring Cloud,要找一個(gè) Spring Cloud 的 Demo 參考練手。
1. 明確搜索倉(cāng)庫(kù)標(biāo)題、倉(cāng)庫(kù)描述、README
GitHub 提供了便捷的搜索方式,可以限定只搜索倉(cāng)庫(kù)的標(biāo)題、或者描述、README等。
以Spring Cloud 為例,一般一個(gè)倉(cāng)庫(kù),大概是這樣的
其中,紅色箭頭指的兩個(gè)地方,分別是倉(cāng)庫(kù)的名稱和描述。咱們可以直接限定關(guān)鍵字只查特定的地方。比如咱們只想查找倉(cāng)庫(kù)名稱包含 spring cloud 的倉(cāng)庫(kù),可以使用語(yǔ)法
in:name 關(guān)鍵詞
如果想查找描述的內(nèi)容,可以使用這樣的方式:
in:descripton 關(guān)鍵詞
這里就是搜索上面項(xiàng)目描述的內(nèi)容。
一般項(xiàng)目,都會(huì)有個(gè)README文件,如果要查該文件包含特定關(guān)鍵詞的話,我想你猜到了
in:readme 關(guān)鍵詞
2. 明確搜索 star、fork 數(shù)大于多少的
一個(gè)項(xiàng)目 star 數(shù)的多少,一般代表該項(xiàng)目有受歡迎程度。雖然現(xiàn)在也有垃圾項(xiàng)目刷 star ,但畢竟是少數(shù), star 依然是個(gè)不錯(cuò)的衡量標(biāo)準(zhǔn)。
stars:> 數(shù)字 關(guān)鍵字。
比如咱們要找 star 數(shù)大于 3000 的Spring Cloud 倉(cāng)庫(kù),就可以這樣
stars:>3000 spring cloud
如果不加 >= 的話,是要精確找 star 數(shù)等于具體數(shù)字的,這個(gè)一般有點(diǎn)困難。
如果要找在指定數(shù)字區(qū)間的話,使用
stars: 10..20 關(guān)鍵詞
fork 數(shù)同理,將上面的 stars 換成fork,其它語(yǔ)法相同
3. 明確搜索倉(cāng)庫(kù)大小的
比如你只想看個(gè)簡(jiǎn)單的 Demo,不想找特別復(fù)雜的且占用磁盤空間較多的,可以在搜索的時(shí)候直接限定倉(cāng)庫(kù)的size。
使用方式:
size:>=5000 關(guān)鍵詞
這里注意下,這個(gè)數(shù)字代表K, 5000代表著5M。
4. 明確倉(cāng)庫(kù)是否還在更新維護(hù)
我們?cè)诖_認(rèn)是否要使用一些開(kāi)源產(chǎn)品,框架的時(shí)候,是否繼續(xù)維護(hù)是很重要的一點(diǎn)。如果已經(jīng)過(guò)時(shí)沒(méi)人維護(hù)的東西,踩了坑就不好辦了。而在 GitHub 上找項(xiàng)目的時(shí)候,不再需要每個(gè)都點(diǎn)到項(xiàng)目里看看最近 push 的時(shí)間,直接在搜索框即可完成。
元旦剛過(guò),比如咱們要找臨近年底依然在勤快更新的項(xiàng)目,就可以直接指定更新時(shí)間在哪個(gè)時(shí)間前或后的
通過(guò)這樣一條搜索pushed:>2019-01-03 spring cloud
咱們就找到了1月3號(hào)之后,還在更新的項(xiàng)目。
你是想找指定時(shí)間之前或之后創(chuàng)建的倉(cāng)庫(kù)也是可以的,把pushed改成created就行。
5. 明確搜索倉(cāng)庫(kù)的 LICENSE
咱們經(jīng)常使用開(kāi)源軟件,一定都知道,開(kāi)源軟件也是分不同的「門派」不同的LICENSE。開(kāi)源不等于一切免費(fèi),不同的許可證要求也大不相同。 2018年就出現(xiàn)了 Facebook 修改 React 的許可協(xié)議導(dǎo)致各個(gè)公司紛紛修改自己的代碼,尋找替換的框架。
例如咱們要找協(xié)議是最為寬松的 Apache License 2 的代碼,可以這樣
license:apache-2.0 spring cloud
其它協(xié)議就把 apache-2.0 替換一下即可,比如換成mit之類的。
6. 明確搜索倉(cāng)庫(kù)的語(yǔ)言
比如咱們就找 Java 的庫(kù), 除了像上面在左側(cè)點(diǎn)擊選擇之外,還可以在搜索中過(guò)濾。像這樣:
language:java 關(guān)鍵詞
7.明確搜索某個(gè)人或組織的倉(cāng)庫(kù)
比如咱們想在 GitHub 上找一下某個(gè)大神是不是提交了新的功能,就可以指定其名稱后搜索,例如咱們看下 Josh Long 有沒(méi)有提交新的 Spring Cloud 的代碼,可以這樣使用
user:joshlong
組合使用一下,把 Java 項(xiàng)目過(guò)濾出來(lái),多個(gè)查詢之間「空格」分隔即可。
user:joshlong language:java
找某個(gè)組織的代碼話,可以這樣:
org:spring-cloud
就可以列出具體org 的倉(cāng)庫(kù)。
posted @ 2019-12-20 16:49 狼愛(ài)上貍 閱讀(171) | 評(píng)論 (0) | 編輯 收藏
https://blog.csdn.net/Hanani_Jia/article/details/77950594源博客地址
首先,我先對(duì)GitHub來(lái)一個(gè)簡(jiǎn)單的介紹,GitHub有一個(gè)很強(qiáng)大的功能就是,你在服務(wù)器上邊可以創(chuàng)建一個(gè)庫(kù)(稍后會(huì)介紹怎么創(chuàng)建),寫代碼是一件很重的任務(wù),尤其是很多人完成一個(gè)很大的項(xiàng)目的時(shí)候,就十分的復(fù)雜,一群人一起來(lái)寫某個(gè)項(xiàng)目,大家完成的時(shí)間,完成的進(jìn)度都是不相同的,你寫一點(diǎn)我寫一點(diǎn),甚至可能你今天寫的出現(xiàn)了錯(cuò)誤,影響到了我昨天寫的代碼,最后怎么才能將大家的代碼輕松的匯總起來(lái),又怎么在匯總所有人的代碼之后發(fā)現(xiàn)錯(cuò)誤等等一系列問(wèn)題。這樣我們就用到了GitHub這個(gè)軟件。我們?cè)贕itHub服務(wù)器上有一個(gè)主倉(cāng)庫(kù),這里用來(lái)儲(chǔ)存你的所有代碼,如果不付費(fèi)的話是所有人都可以看的,如果你不想讓別人看到你的代碼,可以選擇付費(fèi)倉(cāng)庫(kù)。我們創(chuàng)建了主倉(cāng)庫(kù)之后,就可以在電腦上創(chuàng)建分支,之后你就可以在電腦上完成自己的代碼,寫完之后直接同步在電腦的分支,當(dāng)你認(rèn)為可以上傳的自己的主倉(cāng)庫(kù)時(shí),就可以申請(qǐng)更新,當(dāng)通過(guò)審核的時(shí)候,你代碼就出現(xiàn)在了自己的主倉(cāng)庫(kù)中,這樣全世界的程序員都可以查看你的代碼。全世界現(xiàn)在已經(jīng)有300萬(wàn)的注冊(cè)用戶,甚至還有一些相當(dāng)知名的開(kāi)源項(xiàng)目也在其中公布代碼。在GitHub上你可以看到很多計(jì)算機(jī)領(lǐng)域的精英所分享的自己的代碼。這是GitHub的兩個(gè)主要優(yōu)點(diǎn),適合團(tuán)隊(duì)協(xié)作,以及下載其他優(yōu)秀者的代碼。
今天,GitHub已是:一個(gè)擁有143萬(wàn)開(kāi)發(fā)者的社區(qū)。其中不乏Linux發(fā)明者Torvalds這樣的頂級(jí)黑客,以及Rails創(chuàng)始人DHH這樣的年輕極客。
· 這個(gè)星球上最流行的開(kāi)源托管服務(wù)。目前已托管431萬(wàn)git項(xiàng)目,不僅越來(lái)越多知名開(kāi)源項(xiàng)目遷入GitHub,比如Ruby on Rails、jQuery、Ruby、Erlang/OTP;近三年流行的開(kāi)源庫(kù)往往在GitHub首發(fā),例如:BootStrap、Node.js、CoffeScript等。alexa全球排名414的網(wǎng)站。
https://github.com/ 這是GitHub的官方網(wǎng)站,在官網(wǎng)上可以注冊(cè)屬于自己的GitHub賬號(hào),網(wǎng)上是全英文的,對(duì)于英語(yǔ)不好的同學(xué)建議使用谷歌瀏覽器,谷歌瀏覽器可以翻譯網(wǎng)頁(yè)變?yōu)橹形氖褂闷饋?lái)十分方便。
通過(guò)簡(jiǎn)單的步驟之后你就會(huì)有一個(gè)屬于自己的GitHub賬號(hào)。再簡(jiǎn)單注冊(cè)完成之后會(huì)需要驗(yàn)證你所輸入的郵箱才能正常使用你的GitHub。
在注冊(cè)完成之后,完成一些簡(jiǎn)單的設(shè)置之后,你需要?jiǎng)?chuàng)建一個(gè)屬于自己的庫(kù)
在登陸自己的GitHub賬號(hào)之后,在網(wǎng)頁(yè)右上角的小加號(hào)是用來(lái)創(chuàng)建自己的庫(kù)的按鈕,之后的步驟將網(wǎng)頁(yè)翻譯成中文之后,按提示進(jìn)行創(chuàng)建自己的庫(kù)即可。
第一個(gè)框是自己為自己的庫(kù)起一個(gè)名字,第二個(gè)框是自己對(duì)庫(kù)的一個(gè)簡(jiǎn)單介紹
在創(chuàng)建完成自己的庫(kù)之后,下面就要讓自己的電腦克隆一個(gè)自己所創(chuàng)建的庫(kù),方面自己電腦上的代碼同步到GitHub你所創(chuàng)建的庫(kù)當(dāng)中。
為了實(shí)現(xiàn),就需要安裝一個(gè)軟件,Git Bash。
下面我就介紹一下這個(gè)軟件的安裝,以及簡(jiǎn)單的配置。
git-scm.com 首先進(jìn)入GitHub官網(wǎng),下載適合自己電腦的版本
下載完安裝包之后運(yùn)行
在安裝過(guò)程中直接默認(rèn)選項(xiàng)即可。
在對(duì)git bash進(jìn)行配置的時(shí)候大多數(shù)新手都是一頭霧水,下面我對(duì)配置的每一步就會(huì)有詳細(xì)的記錄。代碼我也是從網(wǎng)上和學(xué)長(zhǎng)那邊要來(lái)的。
我第一次打開(kāi)軟件后看到這個(gè)界面也是一臉懵逼的,然后通過(guò)查閱了各種各樣的資料之后才有了一些思路。
首先要在本地創(chuàng)建一個(gè)ssh key 這個(gè)的目的就是你現(xiàn)在需要在你電腦上獲得一個(gè)密匙,就是咱們平時(shí)的驗(yàn)證碼一樣的東西,獲取之后,在你的GitHub賬號(hào)里邊輸入之后,你的電腦就和你的GitHub賬號(hào)聯(lián)系在一起了,這樣以后就可以十分方便的通過(guò)Git bash 隨時(shí)上傳你的代碼。下邊介紹一下如果獲得這個(gè)鑰匙,又是如何輸入到你的GitHub里邊的呢。
很多人第一次打開(kāi)這個(gè)GitHub的時(shí)候一臉懵逼,認(rèn)為這是什么。對(duì)于一個(gè)新手來(lái)說(shuō)看到這個(gè)是沒(méi)有任何思路,沒(méi)有任何想法的。
這一欄 開(kāi)始是你的計(jì)算機(jī)的名字在我這里就是Hanani @后邊的內(nèi)容是你的計(jì)算機(jī)型號(hào),很多時(shí)候有的人打開(kāi)之后@后邊是亂碼,這個(gè)時(shí)候也不要在意,因?yàn)橛行╇娔X型號(hào)是中文的,可能在顯示的時(shí)候出現(xiàn)了問(wèn)題,不影響你后期的操作。
接下來(lái),就要開(kāi)始獲取屬于你自己的密匙。在git bash中所有功能都是通過(guò)簡(jiǎn)單的一些代碼來(lái)實(shí)現(xiàn)的。獲取密匙的時(shí)候需要輸入
$ ssh-keygen -t rsa -C "your_email@youremail.com"
需要輸入這個(gè)代碼,引號(hào)內(nèi)需要改成你在注冊(cè)GitHub的時(shí)候綁定的郵箱賬號(hào)。之后會(huì)有一些簡(jiǎn)單的讓你確認(rèn)的操作,之后讓你會(huì)提示操作路徑、密碼等等,一般情況下就直接按回車一路過(guò)就可以。
如果之后你出現(xiàn)了這個(gè)界面之后,就說(shuō)明你的密匙已經(jīng)成功創(chuàng)建了?,F(xiàn)在你就需要去他剛剛顯示的存儲(chǔ)位置打開(kāi)它,把其中的內(nèi)容復(fù)制出來(lái)。
在.ssh這個(gè)文件夾中
之后你會(huì)看到這些內(nèi)容,有的人會(huì)在id_rsa后邊帶有一個(gè)pub,之前看網(wǎng)上教程需要找到帶pub的文件,因?yàn)槲以谏珊鬀](méi)有帶.pub的文件,懷著忐忑的心打開(kāi)id_rsa后發(fā)現(xiàn)這里邊的密匙也是可以使用的。打開(kāi)id_rsa的時(shí)候需要用記事本的方式打開(kāi)。
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDIskXqZF3SSFtACK6zoNGJabikTBC3kig6+4j4dCq1tswhA9YkuJCi0WpRmGYWBQ67dyT2or7RedFZlULLZN3nL6AWlo5V2jRXw4WQxCon2rU1p122wmiTzqYOfsykjwullWV4bYcZU4n77A4/9WwlSqZCpEbcdwV8IMkvwfJUInSWqTvmYMcKTWu8yad5DZ2v7LBWfgsL/Tfx7aEB8UjDNJ6SPw30Yijy+62YrftYGgbuwoiL9hDNGO2LfjgOkglHTBJaZe31uQLLWc5uCzd+7Dgh7RaKMmeuz2Uv7yqm/IEU9jH8cPMR9YRPIhmzg38G2s9ILn27QqW9j1hrFY1V 15229020556@163.com
這就是我所獲取的密匙,打開(kāi)之后很長(zhǎng)的一段,不要驚訝,沒(méi)有問(wèn)題,這就是你所需要的密匙。
現(xiàn)在你就需要登錄到你的GitHub上邊添加這個(gè)密匙,
打開(kāi)你GitHub的設(shè)置界面,找到SSH and GPG keys這個(gè)選項(xiàng)之后,在網(wǎng)頁(yè)右上角有一個(gè)添加新的SSH keys 點(diǎn)擊
這里的title 是讓你給你的密匙起一個(gè)名字,根據(jù)個(gè)人喜好,什么名字都可以,然后把你在剛剛文件中復(fù)制的密匙,填寫在下邊的大框里。保存即可。
之后你就可以回到你的Git bash上邊了
然后輸入上邊的代碼,來(lái)檢查是否成功綁定。第一次綁定的時(shí)候輸入上邊的代碼之后會(huì)提示是否continue,在輸入yes后如果出現(xiàn)了:You've successfully authenticated, but GitHub does not provide shell access 。那就說(shuō)明,已經(jīng)成功連上了GitHub。接下來(lái)還需要簡(jiǎn)單的設(shè)置一些東西。
輸入上邊的代碼,name最好和GitHub上邊的一樣,email是一定要是注冊(cè)GitHub的那個(gè)郵箱地址
這兩個(gè)的順序可以顛倒,沒(méi)有固定的順序。
下面就要將你的庫(kù)克隆下來(lái)到本地電腦中,方便以后進(jìn)行上傳代碼。
在庫(kù)創(chuàng)建完成之后 會(huì)有一個(gè)網(wǎng)址出現(xiàn)在網(wǎng)頁(yè)中。
個(gè)人習(xí)慣將自己的文件儲(chǔ)存在d盤之中,所以你先需要將git bash定位在d盤中
在git bash中輸入 cd /D 注意盤名字一定要是大寫。如不輸入這個(gè)語(yǔ)句 不給git bash定位的話,默認(rèn)的本地文件位置是在c盤中。
輸入之后會(huì)出現(xiàn)/D說(shuō)明定位成功。
之后輸入
git clone后邊的網(wǎng)址就是你創(chuàng)建庫(kù)成功之后的網(wǎng)址
之后打開(kāi)我所定位的D盤
可以看到,D盤中已經(jīng)有以我的庫(kù)名所創(chuàng)建的文件夾了。
打開(kāi)這個(gè)文件夾,然后在其中創(chuàng)建一個(gè)任意格式,任意名稱的文件。
之后重新定位git 把書 的位置,定位在你庫(kù)的文件夾。
之后輸入ls語(yǔ)句 ls的作用是查看你目前所定位的文件夾中的文件,現(xiàn)在可以看出來(lái),我剛剛所創(chuàng)建的test文件已經(jīng)出現(xiàn)了。
然后輸入 git add test.txt
之后輸入然后git commit -m "cc" 引號(hào)內(nèi)的內(nèi)容可以隨意改動(dòng),這個(gè)語(yǔ)句的意思是 給你剛剛上傳的文件一個(gè)備注,方便查找記憶而已
輸入之后出現(xiàn)以上情況,然后在輸入git push origin master 之后會(huì)出現(xiàn)一個(gè)
界面,在這里登陸你之前注冊(cè)的GitHub賬號(hào)之后點(diǎn)擊login。
如果之后出現(xiàn)這種情況的話,就是登陸失敗了,這時(shí)候你就需要輸入你GitHub的賬號(hào)名稱
輸入之后會(huì)出現(xiàn)這個(gè)界面,然后再次輸入你的GitHub密碼。
出現(xiàn)類似界面,你就可以歡呼了,代表你成功了。
現(xiàn)在打開(kāi)你的GitHub網(wǎng)站,找到你創(chuàng)建的庫(kù)
發(fā)現(xiàn)今天的格子已經(jīng)綠了,說(shuō)明你已經(jīng)上傳了你剛剛所創(chuàng)建的文件。
再之后,你只需要將你的代碼,放到庫(kù)的對(duì)應(yīng)的文件夾中,然后使用 先CD到你庫(kù)里面,再git add 、git commit -m " " 、最后git push origin master,將你的代碼提交就可以了。
同樣我感覺(jué)網(wǎng)頁(yè)版的github更適合新手小白,https://blog.csdn.net/hanani_jia/article/details/79855429 這是我寫的一篇網(wǎng)頁(yè)版github的簡(jiǎn)單操作,需要的可以看一下。
posted @ 2019-12-20 15:30 狼愛(ài)上貍 閱讀(128) | 評(píng)論 (0) | 編輯 收藏
posted @ 2019-12-18 19:27 狼愛(ài)上貍 閱讀(650) | 評(píng)論 (0) | 編輯 收藏
posted @ 2019-12-16 09:28 狼愛(ài)上貍 閱讀(136) | 評(píng)論 (0) | 編輯 收藏
posted @ 2019-12-16 09:16 狼愛(ài)上貍 閱讀(119) | 評(píng)論 (0) | 編輯 收藏
posted @ 2019-12-16 08:40 狼愛(ài)上貍 閱讀(258) | 評(píng)論 (0) | 編輯 收藏
posted @ 2019-12-13 18:16 狼愛(ài)上貍 閱讀(249) | 評(píng)論 (0) | 編輯 收藏
posted @ 2019-12-01 12:30 狼愛(ài)上貍 閱讀(113) | 評(píng)論 (0) | 編輯 收藏
posted @ 2019-11-28 21:01 狼愛(ài)上貍 閱讀(175) | 評(píng)論 (0) | 編輯 收藏
{
"config": {
"chainId": 666,
"homesteadBlock": 0,
"eip150Block": 0,
"eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"eip155Block": 0,
"eip158Block": 0,
"byzantiumBlock": 0,
"constantinopleBlock": 0,
"petersburgBlock": 0,
"istanbulBlock": 0,
"ethash": {}
},
"nonce": "0x0",
"timestamp": "0x5ddf8f3e",
"extraData": "0x0000000000000000000000000000000000000000000000000000000000000000",
"gasLimit": "0x47b760",
"difficulty": "0x00002",
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"coinbase": "0x0000000000000000000000000000000000000000",
"alloc": { }
},
"number": "0x0",
"gasUsed": "0x0",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
初始化:
geth --identity "MyEth" --rpc --rpcport "8545" --rpccorsdomain "*" --datadir gethdata --port "30303" --nodiscover --rpcapi "db,eth,net,personal,web3" --networkid 1999 init genesis.json
posted @ 2019-11-28 19:15 狼愛(ài)上貍 閱讀(3680) | 評(píng)論 (0) | 編輯 收藏
下載地址:https://ethereum.github.io/go-ethereum/downloads/
點(diǎn)擊安裝勾選development tools
Devnet $ geth --datadir node1/ account new
Your new account is locked with a password. Please give a password. Do not forget this password.
Passphrase: 輸入你的密碼
Repeat passphrase: 確認(rèn)你的密碼
Address: {08a58f09194e403d02a1928a7bf78646cfc260b0}
生成的文件是用于初始化區(qū)塊鏈的文件。第一個(gè)塊叫做創(chuàng)世塊,是根據(jù)genesis.json文件中的參數(shù)生成的。
Geth安裝后目錄下有很多可執(zhí)行文件如puppeth或bootnode。你可以在Geth github上找到完整的列表。
Puppeth可以創(chuàng)建創(chuàng)世區(qū)塊的json文件。
開(kāi)始使用Puppeth:
1、win鍵 + r 進(jìn)入cmd命令行,進(jìn)入到安裝geth的文件夾執(zhí)行 puppeth 然后順序執(zhí)行下面操作
2、Please specify a network name to administer (no spaces, please)
> devnet
(這里隨便填寫一個(gè)網(wǎng)絡(luò)管理名稱即可,如有需要后面可以通過(guò)--network重新設(shè)置)
What would you like to do? (default = stats)
1. Show network stats
2. Configure new genesis
3. Track new remote server
4. Deploy network components
> 2
(這里選擇2,回車,配置新的創(chuàng)世區(qū)塊)
3、Which consensus engine to use? (default = clique)
1. Ethash - proof-of-work
2. Clique - proof-of-authorit
> 1
(這里選擇pow共識(shí)機(jī)制)
4、Which accounts should be pre-funded? (advisable at least one)
> 0x1234567890123456789012345678901234567890
(這個(gè)是設(shè)置預(yù)分配以太坊的賬戶,建議設(shè)置一個(gè)有私鑰的地址可以后面測(cè)試使用,設(shè)置好后再按一次回車)
5、Specify your chain/network ID if you want an explicit one (default = random)
> 666
(這里就是鏈的chainId,可以隨意輸入也可以不輸直接回車默認(rèn)隨機(jī)數(shù)字)
6、What would you like to do? (default = stats)
2
(管理已擁有的創(chuàng)世塊)7、 1. Modify existing fork rules
2. Export genesis configuration
3. Remove genesis configuration
> 2
(選擇導(dǎo)出創(chuàng)世配置)
8、Which file to save the genesis into? (default = devnet.json)
> ./genesis.json
(導(dǎo)出的路徑及文件名)
OK,到這里創(chuàng)世json文件創(chuàng)建完成了
現(xiàn)在我們有了這個(gè)genesis.json文件,可以初始化創(chuàng)世塊了!
進(jìn)入到geth安裝文件夾下執(zhí)行
geth --datadir node1/ init genesis.json
bootnode唯一的目的是幫助節(jié)點(diǎn)發(fā)現(xiàn)彼此(記住,以太坊區(qū)塊鏈?zhǔn)且粋€(gè)對(duì)等網(wǎng)絡(luò))
bootnode -genkey boot.Key
bootnode -nodekey boot.key -addr:30310
隨意使用任何您喜歡的端口,但請(qǐng)避免使用主流端口(例如HTTP)。30303用于公共以太坊網(wǎng)絡(luò)。
geth --datadir .\node1\ --syncmode 'full' --port 30311 --rpc --rpcaddr '127.0.0.1' --rpcport 8501 --rpcapi 'personal,db,eth,net,web3,txpool,miner' --bootnodes 'enode://ca88962dbcc8eb0c7587789866f21db68cdf32ad1ea890fe0d9f8fe010f7e9afe2e6a88d5c9d418be61a10b8a31b1e7c55213bb426dab91596ae36bd7d559333@127.0.0.1:30310' --networkid 666
參數(shù)解釋:
--syncmode 'full' 有助于防止錯(cuò)誤丟棄錯(cuò)誤的傳播塊。
--port 是node1的端口
--rpcapi 允許RPC調(diào)用的模塊
--bootnodes 要連接的bootnode
--networkId genesis.json文件中的chainId
通過(guò)RPC方式
$ cd devnet
devnet$ geth attach 'http://localhost:8501'
Welcome to the Geth JavaScript console!
instance: Geth/v1.7.3-stable-4bb3c89d/linux-amd64/go1.9
coinbase: 0x87366ef81db496edd0ea2055ca605e8686eec1e6
at block: 945 (Sat, 10 Feb 2018 21:16:14 CET)
modules: eth:1.0 miner:1.0 net:1.0 personal:1.0 rpc:1.0 txpool:1.0 web3:1.0
使用Geth控制臺(tái)
>net.version
"1515"
> eth.blockNumber
1910
> eth.coinbase
"0x87366ef81db496edd0ea2055ca605e8686eec1e6"
> eth.sendTransaction({'from':eth.coinbase, 'to':'0x08a58f09194e403d02a1928a7bf78646cfc260b0', 'value':web3.toWei(3, 'ether')})
"0x299a99baa1b39bdee5f02e3c660e19e744f81c2e886b5fc24aa83f92fe100d3f"
>eth.getTransactionReceipt("0x299a99baa1b39bdee5f02e3c660e19e744f81c2e886b5fc24aa83f92fe100d3f")
{
blockHash: "0x212fb593980bd42fcaf3f6d1e6db2dd86d3764df8cac2d90408f481ae7830de8",
blockNumber: 2079,
contractAddress: null,
cumulativeGasUsed: 21000,
from: "0x87366ef81db496edd0ea2055ca605e8686eec1e6",
gasUsed: 21000,
logs: [],
logsBloom: "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
status: "0x1",
to: "0x08a58f09194e403d02a1928a7bf78646cfc260b0",
transactionHash: "0x299a99baa1b39bdee5f02e3c660e19e744f81c2e886b5fc24aa83f92fe100d3f",
transactionIndex: 0
}
> exit
(退出)
來(lái)自:https://www.haowenbo.com/articles/2019/07/24/1563963176492.html
posted @ 2019-11-28 17:08 狼愛(ài)上貍 閱讀(1050) | 評(píng)論 (0) | 編輯 收藏
posted @ 2019-11-28 08:49 狼愛(ài)上貍 閱讀(201) | 評(píng)論 (0) | 編輯 收藏
1.在你想更改的目錄下新建兩個(gè)文件夾:node_global 和 node_cache
2.啟動(dòng)cmd依次執(zhí)行以下兩條命令
npm config set prefix "XXX\XXX\node_global"
npm config set cache "XXX\XXX\node_cache"
路徑均為絕對(duì)路徑
3.更改環(huán)境變量,計(jì)算機(jī)右擊 --> 屬性 --> 高級(jí)系統(tǒng)設(shè)置 --> 環(huán)境變量
在下邊的系統(tǒng)變量里新建一條記錄,變量名為NODE_PATH 值為XXX\XXX\node_global\mode_modules
在上邊的環(huán)境變量,更改PATH的值為XXX\XXX\node_global\
(路徑為剛才第二步中node_global文件夾的絕對(duì)路徑)
posted @ 2019-11-24 14:38 狼愛(ài)上貍 閱讀(5112) | 評(píng)論 (0) | 編輯 收藏