personal.newAccount(password)

進(jìn)入go-ethereum的代碼目錄

1.1.初始化節(jié)點(diǎn)

創(chuàng)建文件夾dev_data, 子文件夾node1 和文件genesis.json

終端執(zhí)行: ./build/bin/geth --datadir ./dev_data/node1/ init ./dev_data/genesis.json

1.2.啟動(dòng)控制臺(tái)

終端執(zhí)行: ./build/bin/geth --datadir dev_data/node1 --networkid 314590 --ipcdisable --port 61910 --rpcport 8200 console

2.1./go-ethereum/internal/ethapi/api.go

func (s *PrivateAccountAPI) NewAccount(password string) (common.Address, error) {

    acc, err := fetchKeystore(s.am).NewAccount(password)

}

2.2.go-ethereum/accounts/keystore/keystore.go

func (ks *KeyStore) NewAccount(passphrase string) (accounts.Account, error) {

        _, account, err := storeNewKey(ks.storage, crand.Reader, passphrase) //創(chuàng)建私鑰

        // Add the account to the cache immediately rather  than waiting for file system notifications to pick it up.

        ks.cache.add(account)  //accountCache的數(shù)組all: 根據(jù)URL從低到高排列   加入accountCache的map byAddr

        ks.refreshWallets()

        return account, nil

}

2.3.go-ethereum/accounts/keystore/key.go

func storeNewKey(ks keyStore, rand io.Reader, auth string) (*Key, accounts.Account, error) {                              

        key, err := newKey(rand) //生成私鑰

      a := accounts.Account{Address: key.Address, 
     URL: accounts.URL{Scheme: KeyStoreScheme, Path:ks.JoinPath(keyFileName(key.Address))}}

         //將keystore寫入文件go-ethereum/dev_data/node1/
         UTC--2018-05-09T09-22-01.825676850Z--d4c3b95bf0bbf0fd00870621

        if err := ks.StoreKey(a.URL.Path, key, auth); err != nil {  //存儲(chǔ)keystore文件

            zeroKey(key.PrivateKey)

            return nil, a, err

        }

        return key, a, err

}

2.4.生成私鑰 go-ethereum/accounts/keystore/key.go

func newKey(rand io.Reader) (*Key, error) {

        privateKeyECDSA, err := ecdsa.GenerateKey(crypto.S256(), rand)  //生成私鑰

        return newKeyFromECDSA(privateKeyECDSA), nil

}
type PrivateKey struct {
    PublicKey
    D *big.Int  //隨機(jī)數(shù)
}

2.5. 生成隨機(jī)數(shù) /usr/lib/go-1.10/src/crypto/ecdsa/ecdsa.go

// GenerateKey generates a public and private key pair.
func GenerateKey(c elliptic.Curve, rand io.Reader) (*PrivateKey, error) {
    k, err := randFieldElement(c, rand) //所以以太坊的隨機(jī)數(shù)生成采用的是go的api?
    if err != nil {
        return nil, err
    }

    priv := new(PrivateKey)
    priv.PublicKey.Curve = c
    priv.D = k
    priv.PublicKey.X, priv.PublicKey.Y = c.ScalarBaseMult(k.Bytes())
    return priv, nil
}

genesis.json
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末砰琢,一起剝皮案震驚了整個(gè)濱河市甫窟,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌镀迂,老刑警劉巖恭垦,帶你破解...
    沈念sama閱讀 211,194評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件文兢,死亡現(xiàn)場(chǎng)離奇詭異邻吭,居然都是意外死亡餐弱,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門囱晴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)膏蚓,“玉大人,你說(shuō)我怎么就攤上這事畸写⊥郧疲” “怎么了?”我有些...
    開封第一講書人閱讀 156,780評(píng)論 0 346
  • 文/不壞的土叔 我叫張陵枯芬,是天一觀的道長(zhǎng)论笔。 經(jīng)常有香客問(wèn)我采郎,道長(zhǎng),這世上最難降的妖魔是什么狂魔? 我笑而不...
    開封第一講書人閱讀 56,388評(píng)論 1 283
  • 正文 為了忘掉前任尉剩,我火速辦了婚禮,結(jié)果婚禮上毅臊,老公的妹妹穿的比我還像新娘。我一直安慰自己黑界,他們只是感情好管嬉,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著朗鸠,像睡著了一般蚯撩。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上烛占,一...
    開封第一講書人閱讀 49,764評(píng)論 1 290
  • 那天胎挎,我揣著相機(jī)與錄音,去河邊找鬼忆家。 笑死犹菇,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的芽卿。 我是一名探鬼主播揭芍,決...
    沈念sama閱讀 38,907評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼卸例!你這毒婦竟也來(lái)了称杨?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,679評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤筷转,失蹤者是張志新(化名)和其女友劉穎姑原,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體呜舒,經(jīng)...
    沈念sama閱讀 44,122評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡锭汛,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了阴绢。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片店乐。...
    茶點(diǎn)故事閱讀 38,605評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖呻袭,靈堂內(nèi)的尸體忽然破棺而出眨八,到底是詐尸還是另有隱情,我是刑警寧澤左电,帶...
    沈念sama閱讀 34,270評(píng)論 4 329
  • 正文 年R本政府宣布廉侧,位于F島的核電站页响,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏段誊。R本人自食惡果不足惜闰蚕,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望连舍。 院中可真熱鬧没陡,春花似錦互订、人聲如沸脖旱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)潜腻。三九已至埃儿,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間融涣,已是汗流浹背童番。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留威鹿,地道東北人剃斧。 一個(gè)月前我還...
    沈念sama閱讀 46,297評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像专普,于是被迫代替她去往敵國(guó)和親悯衬。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • react native引入flow:(參考:https://medium.com/react-native-tr...
    f9a0655cc835閱讀 855評(píng)論 0 0
  • 1、環(huán)境準(zhǔn)備 安裝node.js 進(jìn)入官網(wǎng):https://nodejs.org/en/download/炸渡。 網(wǎng)站...
    古早人說(shuō)說(shuō)閱讀 2,990評(píng)論 1 3
  • 【今日頭條】深圳研發(fā)中心招聘信息(動(dòng)態(tài)更新) 頭條簡(jiǎn)介 “今日頭條”是一款基于數(shù)據(jù)挖掘的推薦引擎產(chǎn)品娜亿,是國(guó)內(nèi)移動(dòng)互...
    字節(jié)跳動(dòng)_深圳閱讀 482評(píng)論 1 2
  • 越來(lái)越覺得越長(zhǎng)大時(shí)間便越跑越快,幼兒園的時(shí)候想著快長(zhǎng)大蚌堵,但具體什么原因忘記了买决,小學(xué)六年真的覺得是當(dāng)時(shí)的我所經(jīng)歷過(guò)...
    康哲哲閱讀 140評(píng)論 0 0
  • 昨天好好的做完了一篇聽力,因?yàn)榈教幦〗?jīng)吼畏,方法有很多啦但是卻沒總結(jié)出適合自己的督赤,思考的太少,沒去總結(jié)泻蚊,得多思考躲舌。總結(jié)...
    泡面忠閱讀 112評(píng)論 0 0