I’ve been able to do that, sending libra between accounts during my own instance. But can I send libra to you by referencing your specific account address? Not just local accounts 1, 2, 3, 4 etc
I don’t think that is possible yet. Even though the team says they refresh every 24 hours, when i connect two instances am unable to query the 1st instance accounts from the 2nd instance client. I think its much like an inmemory and doesn’t persist at this point in time.
@brandonc123 @moinuddin14 - of course you can try sending to my account address. See this link showing all the people that sent some tokens to my address:
https://librabrowser.io/account/e945eec0f64069d4f171d394aa27881fabcbd3bb6bcc893162e60ad3d6c9feec
Do we have some idea to create the application base on Libra?
Our team need some members with strong technical skills.
Very nice if @Diskin can join with us
Please read our startup Idea on the topic: [Startup - edulibra token] Education platform base on Libra blockchain need members to join team
It’s great to have this so early on—thanks for setting it up!
Good job, I just send 20 libra to your address and see it on ur website.
Cheers,
Dylan
Thank you for your good and quick job @Diskin, I don’t know why Libra doesn’t provide their own explorer ! Will it be possible to link your explorer with a local testnet ?
@CryptoMarabout - I plan to publish a version to GitHub once I stabilize everything. Then you will be able to connect it to a private/local testnet…
https://librabrowser.io/faucet
added faucet feature to all sending your account initial funds even if you don’t have a client…
You have to start a school
You are very powerful:100:
@Diskin, it appears that you are showing “Time”, but are actually using the user-specified expiration time which means that the time you show is very misleading. As an example: https://librabrowser.io/version/5524
Since the user specified a high expiration time, you are showing it as ~u32 max (which is another issue since it is closer to u64 max in the actual field). I’d like to suggest that you rename this field to something like “Transaction Expiration Time” and if you are casting it into a u32, change it to cast into a u64 instead.
Note that this time field is not the time the transaction was committed, it is the value that a user specified for the time at which they wish for the transaction to no longer be valid.
Also, awesome work! The explorer is super useful!
@kph - thanks!
it is an oversight I’ll fix (I used “expiration time” explicitly in the account view but forgot in the transaction view). I do think I found the right source for ledger time in the “get transaction request” proto. Am I correct in assuming that “timestamp_usecs” (in bold at the bottom) is the actual time the ledger was updated?
response_items {
get_transactions_response {
txn_list_with_proof {
transactions {
raw_txn_bytes: “\n \307\310\253\216n\223\274\357\247\332\026\r\301>\237\331\323\013\017\rh\2618*\262\227\202\367\251\337\312X\020\006(\220N0d8\300\200\306\350\005\032\350\001\n\263\001LIBRAVM\n\001\000\007\001J\000\000\000\004\000\000\000\003N\000\000\000\006\000\000\000\014T\000\000\000\005\000\000\000\rY\000\000\000\004\000\000\000\005]\000\000\000)\000\000\000\004\206\000\000\000 \000\000\000\007\246\000\000\000\r\000\000\000\000\000\000\001\000\002\000\001\003\000\002\000\002\004\002\003\002\004\002\006\014LibraAccount\004main\017pay_from_sender\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\002\000\004\000\014\000\014\001\021\001\002\022$\010\001\022 \351E\356\300\366@i\324\361q\323\224\252’\210\037\253\313\323\273k\314\2111b\346\n\323\326\311\376\354\022\n\022\010\300\315\225\324\350\000\000\000”
sender_public_key: “\265v>P\244\373O\211\220,y\037\335\217jX})k\355\320\255\241\226\3611qn\227\246Y\006”
sender_signature: “\365\314\266-\344\017N\277WA\016\230\366\251\325O0<N\376|(0/\222\356\017\232V\376L\314\013\271\356q-S1b\343\326\250j\327\315\275\365\031oNd\275,\352\352h\307t\306\233H’\002”
}
infos {
signed_transaction_hash: “\244\316\265&\004\276\253y\274\361\317\262\342\301\372\0108\350\326x5^+\353^w\321L\027\255\205{”
state_root_hash: “9Um;\323\0137\314\277z\270’1v,\315G\246L\330\230\207RI@\356(’\316\252\212\003”
event_root_hash: “B.uv\335B\001\036\265\233A\001.\373Rm*\3758\225\327\304~\332Ma\\252\321\211\274\213”
gas_used: 241600
}
events_for_versions {
events_for_version {
events {
access_path {
address: “\307\310\253\216n\223\274\357\247\332\026\r\301>\237\331\323\013\017\rh\2618*\262\227\202\367\251\337\312X”
path: “\001!}\246\306\263\341\237\030%\317\262gm\256\314\343\277=\340<\362fG\307\215\360\0137\033%\314\227/sent_events_count/”
}
sequence_number: 6
event_data: “\300\315\225\324\350\000\000\000 \000\000\000\351E\356\300\366@i\324\361q\323\224\252’\210\037\253\313\323\273k\314\2111b\346\n\323\326\311\376\354”
}
events {
access_path {
address: “\351E\356\300\366@i\324\361q\323\224\252’\210\037\253\313\323\273k\314\2111b\346\n\323\326\311\376\354”
path: “\001!}\246\306\263\341\237\030%\317\262gm\256\314\343\277=\340<\362fG\307\215\360\0137\033%\314\227/received_events_count/”
}
sequence_number: 26
event_data: “\300\315\225\324\350\000\000\000 \000\000\000\307\310\253\216n\223\274\357\247\332\026\r\301>\237\331\323\013\017\rh\2618*\262\227\202\367\251\337\312X”
}
}
}
first_transaction_version {
value: 172389
}
proof_of_first_transaction {
bitmap: 196607
non_default_siblings: “;4$ \334\227\rN\223PE:w\366\251{\370\311\326\014\202\204\302\037\002^\343\250\n\311\R”
non_default_siblings: “at\356W\222&\313\2079\340\030\307\232\366\255_9\344t\t\272\355\267\356\352B"E”\315\327)"
non_default_siblings: “W\000*\205hu\265\2742\2460+\317\252Yh\361M=aD\263+(\347b\034\262\275<8A”
non_default_siblings: “\005B\221Af\247K\251]\245\260${\017.C\212\225Q#\237\351\320\020f\030\274\3000L0\271”
non_default_siblings: “\375\005\335%Uf\357\275\013\320\374\222>\010\321\3466\025\267?\352\310\350\344X\007\236Y\310\327\010E”
non_default_siblings: “;\316z\242\005\223_\335\220\004\210\350\333\321\3476eF<\363\3578\211u\376&\2053\276\233\350\277”
non_default_siblings: “q\235\312\030f\340\3117$\260\216\243\210\021\0373,<?\361\336Ec\274\030\1773\373\343-\230Z”
non_default_siblings: “I{\247\330\245\243\J2\331<\201\350\305\265\3133\014\037Z\260\203\343\224e)pSF\360\251\342”
non_default_siblings: “\203O3\376\200E:\350\325\342\001\254kk4\023\346\241\313\027\276f\225\344r\271\344\232\336a\2274”
non_default_siblings: “\033\365\023\275TF|\020\017\001\035\273\3737-\n\374\235\277\340\312y\337\237l\237L\325\253b\224\022”
non_default_siblings: “1h\271\360\261\246\013\237\204OB-\320\370cj\026\214\212’k[\257J\n?\335\001\0160\177\362”
non_default_siblings: “J]4\270~\336\330\330!n\353\343\2014\364\253\302\222\014\254;\324\205\240A\217\315=\303Z\322\247”
non_default_siblings: “\246\211\316\034\255.\217\221\343\301n&\241P\017\323\370\276Lml\323>z\264L lw\237(0”
non_default_siblings: “”.\327\347\243\264r\257\037%\000\240\210\230<\321N\326\022\006N\332\351\035\240<\335Yy\303Zs"
non_default_siblings: “!\341[\255W\244\205\313\321I\007\277zp\003\376\376TA\22194\373WUM\211\360\372et\004”
non_default_siblings: “\256\217\344\326\236\337ie\013;w{\254e\327\342\377\323\2217\2728j\302\277V\372b\227P\211\205”
non_default_siblings: “\2305\300\2235\343\2278\351\330\261\224b\2438\356\267\000p\026’$\016\2466\234\315\000.\201\235X”
}
}
}
}
ledger_info_with_sigs {
signatures {
validator_id: “\337\271\306\203\321x\210W\351a\026\017(\324\311\307\233#\360B\310\017w\0177\360\371>\345\372j\226”
signature: “^\303\026\377\3648\265ML\270[\207’\030\034\371r\202\\245\001.\275\030a\225\345n\017,\212\3157 ~\2771\027f\026\005\013O\2552I\036\314`+f\306\000RK\214\302\2233\241\344~d\004”
}
signatures {
validator_id: “\031\3713\024\313\350\300\222ZD\222\353//\031|\346\341\027\027D\234!\217P\340C\343\177\247\245\363”
signature: “\226r}\023\321\365id\373\0300\342\245\305\035\255y\030\361o\313\000\335$R@\221\266\344\200\030\027\261\276F\354\233\215\337\241\270\002\006\216X-\372-2\256\024\266d\324\340\206\325C7\207\002!@\010”
}
signatures {
validator_id: “;|ul\316\232\327\330\001\260x\240\216\351\035\365\370\022.D\001\033O\337ml \300\026\202;\217”
signature: “I\333iA|j\005\363\271W\213x\312\227\256\314C\230\354\237\017\005\206\343\3624\021\360.]\325\220\0136\005Z@\006E\3463\306\302o:\275*]\245\217\255\332\372{\017YA\2662{\210\205\373\013”
}
signatures {
validator_id: “\221\002\275{\032\327\350\363\020#\305\0007\034\307\322\227\027X\264P\317\250\234\000>\373:\261\222\244\270”
signature: “\006\270\237C\323A\305\177.\221\326\303d\327b\223:\213\272\207\022\255\251h\205m\021\255sa\177\221\226\356x\352\371\264\246\360@Z=#\021\223P\316t;\303’\266\016\225\3208Z\322\277}\376|\t”
}
signatures {
validator_id: “\371w\014\252\013\340\300\255B\177 L”\242\302\327\262.\343s\241\271\317o\327h\373\364\212\007\225T"
signature: “’\213\002:I\016Bt\335\231\321\007\373\247g\256\232wS=\367\324”@sq\206c"x\020\206)G\366\2414\372\343\220\320\230W\277\370C\205FV\264\3415\275\000\347\251\341)\222\253\346\316\010"
}
signatures {
validator_id: “Mx\253\220\267Y\354\254\257\344\346\207\305\333\234\302\223jz)\310J\250\276w\177T\333Q\235uk”
signature: "]>\220V/,q\243\217\306e\367PZ\007(\177!yc\236L\316\212\222\005\250<\244\232q\336I\215\240\200\357\345Ru\014\344\206\016O\t!d\356)a\335R\024\371\331B\020\235cy\205\016"
}
signatures {
validator_id: “\302\213\2255\220\305\201\027\256\2041En\242\217g\302\371\341s0x\262\010\341\247\275[\324\010\036\236”
signature: “36J\226\216M\344\343$\n\276\377\351U\032\035\nN\202o\326O\205\033\231\261l\016a\021!\206\246\326\3373\356\003\035l\342N\364\245:\004\221\017\257\273\3547\017\230\342?\357\374h\361\377\212\325\005”
}
ledger_info {
version: 193005
transaction_accumulator_hash: “\374\026\243\266\356\242\353\214\202\277z\263Ey\3135\357\214\306b\303\363\022\035\334\330\204\305\304\206\352\307”
consensus_data_hash: “_\302\220@kx\245G\021\353\332”\313\234\005\177\271M\247\033\317"\220M\206\031\213O\244\301a\246"
consensus_block_id: “\363\202\241$<\377#\222\240s\301t\t \215\312\027\247\271\007\2219i\206\266\212\315Vi\253\021\236”
timestamp_usecs: 1561488511543235
}
}
Yep! That looks correct
@kph - thanks, that’s helpful
BTW the casting to u32 is an intentional hack, didn’t want to mess with time format conversions for now