ethscribe 0.2.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +1 -0
- data/README.md +25 -23
- data/Rakefile +1 -1
- data/lib/ethscribe/api.rb +55 -1
- data/lib/ethscribe/version.rb +2 -2
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 54c1bc99feba882f271fdf9e1158cf47c09e4611664d3d2d27fc770e2d3e4882
|
4
|
+
data.tar.gz: 5a0297d9ccb9df224707b34101803a262f21bb63bf2e2debb963913296654551
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3bd5ff76a13b14e43ad80ba4ba742e19bfebf13491f4ad77ec6feeaac636ec8d0b1c90f749e7371812df1e186813a1885001b682ec4ca9ed40acc13bebc41656
|
7
|
+
data.tar.gz: a8477a3ff5e4ced79055b3292f2731eb9088976ddaea275e2fbc8bf23809ea4bbbf8bc52dec9be6014b41cab58038bcb5ac3d9dc301c7be99281625c87e5e21d
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -4,8 +4,8 @@ ethscribe - inscription / inscribe (ethscription calldata) api wrapper & helpe
|
|
4
4
|
|
5
5
|
|
6
6
|
|
7
|
-
* home :: [github.com/
|
8
|
-
* bugs :: [github.com/
|
7
|
+
* home :: [github.com/0xCompute/ethscribe](https://github.com/0xCompute/ethscribe)
|
8
|
+
* bugs :: [github.com/0xCompute/ethscribe/issues](https://github.com/0xCompute/ethscribe/issues)
|
9
9
|
* gem :: [rubygems.org/gems/ethscribe](https://rubygems.org/gems/ethscribe)
|
10
10
|
* rdoc :: [rubydoc.info/gems/ethscribe](http://rubydoc.info/gems/ethscribe)
|
11
11
|
|
@@ -47,52 +47,52 @@ Let's try the mainnet:
|
|
47
47
|
```ruby
|
48
48
|
require 'ethscribe'
|
49
49
|
|
50
|
-
|
50
|
+
net = Ethscribe::Api.mainnet # or Ethscribe::Api.goerli
|
51
51
|
|
52
52
|
|
53
|
-
|
54
|
-
pp
|
53
|
+
# get latest 25 inscriptions (defaults: page_size=25, sort_order=desc)
|
54
|
+
pp net.ethscriptions
|
55
55
|
|
56
|
-
|
57
|
-
pp
|
56
|
+
# get inscriptions page 1 (same as above)
|
57
|
+
pp net.ethscriptions( page: 1 )
|
58
58
|
|
59
59
|
# get inscriptions page 2
|
60
|
-
pp
|
60
|
+
pp net.ethscriptions( page: 2 )
|
61
61
|
|
62
62
|
# get oldest first - sort_order=asc
|
63
|
-
pp
|
64
|
-
pp
|
63
|
+
pp net.ethscriptions( page: 1, sort_order: 'asc' )
|
64
|
+
pp net.ethscriptions( page: 2, sort_order: 'asc' )
|
65
65
|
|
66
66
|
|
67
67
|
# get inscription by id or num
|
68
|
-
pp
|
69
|
-
pp
|
70
|
-
pp
|
71
|
-
pp
|
68
|
+
pp net.ethscription( 0 )
|
69
|
+
pp net.ethscription( 1 )
|
70
|
+
pp net.ethscription( 1000 )
|
71
|
+
pp net.ethscription( 1_000_000 )
|
72
72
|
|
73
73
|
|
74
|
-
# get inscriptions
|
74
|
+
# get inscriptions owned by <addresss>
|
75
75
|
address = '0x2a878245b52a2d46cb4327541cbc96e403a84791'
|
76
|
-
pp
|
76
|
+
pp net.ethscriptions_owned_by( address )
|
77
77
|
|
78
78
|
|
79
79
|
# get inscription (decoded) content_data and content_type by id or num
|
80
|
-
pp
|
81
|
-
pp
|
82
|
-
pp
|
80
|
+
pp net.ethscription_data( 0 )
|
81
|
+
pp net.ethscription_data( 1 )
|
82
|
+
pp net.ethscription_data( 2 )
|
83
83
|
|
84
84
|
|
85
85
|
# check if content exists (using sha256 hash)
|
86
86
|
# inscribe no. 0
|
87
87
|
sha = '2817fd9cf901e4435253881550731a5edc5e519c19de46b08e2b19a18e95143e'
|
88
|
-
pp
|
88
|
+
pp net.ethscription_exists( sha )
|
89
89
|
|
90
90
|
# inscribe no. ??
|
91
91
|
sha = '2817fd9cf901e4435253833550731a5edc5e519c19de46b08e2b19a18e95143e'
|
92
|
-
pp
|
92
|
+
pp net.ethscription_exists( sha )
|
93
93
|
|
94
94
|
# check the indexer (block) status
|
95
|
-
pp
|
95
|
+
pp net.block_status
|
96
96
|
```
|
97
97
|
|
98
98
|
|
@@ -108,7 +108,9 @@ at the ruby code commons (rubycocos) org.
|
|
108
108
|
|
109
109
|
## Questions? Comments?
|
110
110
|
|
111
|
-
Join us in the [
|
111
|
+
Join us in the [0xCompute discord (chat server)](https://discord.gg/3JRnDUap6y)
|
112
|
+
(or in the more general Ethscription discord).
|
113
|
+
Yes you can.
|
112
114
|
Your questions and commentary welcome.
|
113
115
|
|
114
116
|
Or post them over at the [Help & Support](https://github.com/geraldb/help) page. Thanks.
|
data/Rakefile
CHANGED
@@ -8,7 +8,7 @@ Hoe.spec 'ethscribe' do
|
|
8
8
|
self.summary = 'ethscribe - inscription / inscribe (ethscription calldata) api wrapper & helpers for Ethereum & co.'
|
9
9
|
self.description = summary
|
10
10
|
|
11
|
-
self.urls = { home: 'https://github.com/
|
11
|
+
self.urls = { home: 'https://github.com/0xCompute/ethscribe' }
|
12
12
|
|
13
13
|
self.author = 'Gerald Bauer'
|
14
14
|
self.email = 'gerald.bauer@gmail.com'
|
data/lib/ethscribe/api.rb
CHANGED
@@ -45,13 +45,67 @@ class Api ## change/rename Api to Client - why? why not?
|
|
45
45
|
params << ['sort_order', sort_order.to_s.downcase ] if sort_order
|
46
46
|
|
47
47
|
if params.size > 0
|
48
|
-
src += "?" + params.map { |key,value| "#{key}=#{value}" }.join('&')
|
48
|
+
src += "?" + params.map { |key,value| "#{key}=#{URI.encode_uri_component(value)}" }.join('&')
|
49
49
|
end
|
50
50
|
|
51
51
|
res = get( src )
|
52
52
|
res.json ## return parsed json data - why? why not?
|
53
53
|
end
|
54
54
|
|
55
|
+
|
56
|
+
####
|
57
|
+
# ContractTransaction.transaction_mimetype
|
58
|
+
# "application/vnd.facet.tx+json"
|
59
|
+
# SystemConfigVersion.system_mimetype
|
60
|
+
# "application/vnd.facet.system+json"
|
61
|
+
def newer_facet_txs( new_block_number,
|
62
|
+
max: 2500,
|
63
|
+
max_blocks: 10000,
|
64
|
+
count: 0 )
|
65
|
+
newer_ethscriptions( new_block_number,
|
66
|
+
max_ethscriptions: max,
|
67
|
+
max_blocks: max_blocks,
|
68
|
+
mimetypes: ['application/vnd.facet.tx+json',
|
69
|
+
'application/vnd.facet.system+json'],
|
70
|
+
count: count
|
71
|
+
)
|
72
|
+
end
|
73
|
+
alias_method :newer_facet_txns, :newer_facet_txs
|
74
|
+
|
75
|
+
## add "undocumented" endpoint
|
76
|
+
## /ethscriptions/newer_ethscriptions
|
77
|
+
##
|
78
|
+
## see https://github.com/0xFacet/facet-vm/blob/main/app/models/ethscription_sync.rb
|
79
|
+
|
80
|
+
def newer_ethscriptions( new_block_number,
|
81
|
+
max_ethscriptions: 2500,
|
82
|
+
max_blocks: 10000,
|
83
|
+
mimetypes: [],
|
84
|
+
count: 0
|
85
|
+
)
|
86
|
+
src = "#{@base}/ethscriptions/newer_ethscriptions"
|
87
|
+
|
88
|
+
params = []
|
89
|
+
params << ['block_number', new_block_number.to_s]
|
90
|
+
|
91
|
+
## note: array MUST use rails convention with []
|
92
|
+
mimetypes.each do |mimetype|
|
93
|
+
params << ['mimetypes[]', mimetype]
|
94
|
+
end
|
95
|
+
|
96
|
+
params << ['max_ethscriptions', max_ethscriptions.to_s]
|
97
|
+
params << ['max_blocks', max_blocks.to_s ]
|
98
|
+
params << ['past_ethscriptions_count', count.to_s]
|
99
|
+
|
100
|
+
src += "?" + params.map do |key,value|
|
101
|
+
"#{URI.encode_uri_component(key)}=#{URI.encode_uri_component(value)}"
|
102
|
+
end.join('&')
|
103
|
+
|
104
|
+
res = get( src )
|
105
|
+
res.json ## return parsed json data - why? why not?
|
106
|
+
end
|
107
|
+
|
108
|
+
|
55
109
|
#
|
56
110
|
# Get ethscriptions owned by address
|
57
111
|
#
|
data/lib/ethscribe/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ethscribe
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gerald Bauer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-04-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cocos
|
@@ -50,14 +50,14 @@ dependencies:
|
|
50
50
|
requirements:
|
51
51
|
- - "~>"
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version: '4.
|
53
|
+
version: '4.1'
|
54
54
|
type: :development
|
55
55
|
prerelease: false
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
57
|
requirements:
|
58
58
|
- - "~>"
|
59
59
|
- !ruby/object:Gem::Version
|
60
|
-
version: '4.
|
60
|
+
version: '4.1'
|
61
61
|
description: ethscribe - inscription / inscribe (ethscription calldata) api wrapper
|
62
62
|
& helpers for Ethereum & co.
|
63
63
|
email: gerald.bauer@gmail.com
|
@@ -75,7 +75,7 @@ files:
|
|
75
75
|
- lib/ethscribe.rb
|
76
76
|
- lib/ethscribe/api.rb
|
77
77
|
- lib/ethscribe/version.rb
|
78
|
-
homepage: https://github.com/
|
78
|
+
homepage: https://github.com/0xCompute/ethscribe
|
79
79
|
licenses:
|
80
80
|
- Public Domain
|
81
81
|
metadata: {}
|